sockets, передача данных черех пк.

SOLO WARRIOR

Участник
Автор темы
95
36
Хочу реализовать некий скрипт на Питоне(тут язык особо не важен), но не могу подключиться через либу socket.
Помогите, я хз чё писать в бинде сервера

server:
import socket

server = socket.socket(
                      socket.AF_INET,
                      socket.SOCK_STREAM
                      )

[COLOR=rgb(184, 49, 47)]server.bind((КАКОЙ ТУТ ДОЛЖЕН БЫТЬ IP, КАКОЙ ТУТ ДОЛЖЕН БЫТЬ PORT))[/COLOR]

server.listen()

while True:
    user_socket, address = server.accept()
    user_socket.send("You're connected".encode("utf-8"))
    print(user_socket)


client:
import socket

client = socket.socket(
                      socket.AF_INET,
                      socket.SOCK_STREAM
                      )

client.connect(("???", ???))

while True:
    data = client.recv(2048) #recieve
    print(data.decode("utf-8"))
 

L00NEY

Новичок
3
0
порт можешь любой прописать, главное что бы другое приложение его не слушало. Если вдруг пишешь порт, который слушает другое приложение, пайтон вернет ошибку. Будет ошибка - меняешь порт. Обычно все ставят порт 9090

IP в бинде сервера, можешь написать localhost, если тестируешь у своего компьютера. Как нужно будет подключиться с разных компов, в бинде сервера меняешь IP адрес на '' (он сам подхватит твой IP), а в клиенте подключаешься уже к своему IP(узнать через 2ip)


server:
import socket

server = socket.socket(
                      socket.AF_INET,
                      socket.SOCK_STREAM
                      )

server.bind(('', 9090)) # Для подключения с других компов
server.bind(('localhost', 9090)) # Локально


server.listen()

while True:
    user_socket, address = server.accept()
    user_socket.send("You're connected".encode("utf-8"))
    print(user_socket)


client:
import socket

client = socket.socket(
                      socket.AF_INET,
                      socket.SOCK_STREAM
                      )

client.connect(("ТВОЙ IP АДРЕС ЧЕРЕЗ 2IP", 9090)) # Подключение в глобальной сети
client.connect(("localhost", 9090)) # Подключение в локальной сети


while True:
    data = client.recv(2048) #recieve
    print(data.decode("utf-8"))
 

SOLO WARRIOR

Участник
Автор темы
95
36
порт можешь любой прописать, главное что бы другое приложение его не слушало. Если вдруг пишешь порт, который слушает другое приложение, пайтон вернет ошибку. Будет ошибка - меняешь порт. Обычно все ставят порт 9090

IP в бинде сервера, можешь написать localhost, если тестируешь у своего компьютера. Как нужно будет подключиться с разных компов, в бинде сервера меняешь IP адрес на '' (он сам подхватит твой IP), а в клиенте подключаешься уже к своему IP(узнать через 2ip)


server:
import socket

server = socket.socket(
                      socket.AF_INET,
                      socket.SOCK_STREAM
                      )

server.bind(('', 9090)) # Для подключения с других компов
server.bind(('localhost', 9090)) # Локально


server.listen()

while True:
    user_socket, address = server.accept()
    user_socket.send("You're connected".encode("utf-8"))
    print(user_socket)


client:
import socket

client = socket.socket(
                      socket.AF_INET,
                      socket.SOCK_STREAM
                      )

client.connect(("ТВОЙ IP АДРЕС ЧЕРЕЗ 2IP", 9090)) # Подключение в глобальной сети
client.connect(("localhost", 9090)) # Подключение в локальной сети


while True:
    data = client.recv(2048) #recieve
    print(data.decode("utf-8"))
Ошибка.
Мне на ВДС от Амазона надо передавать данные) не знаю как это реализовать, может другой способ есть?

[WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
 

L00NEY

Новичок
3
0
Ошибка.
Мне на ВДС от Амазона надо передавать данные) не знаю как это реализовать, может другой способ есть?

[WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
ошибка в том, что сервер не ответил тебе. На вдс должен быть дан IP. Скорее всего ввел что то не так