Niv Moshe (Dindibo4) Ответов: 1

Как я могу общаться между двумя компьютерами в одной сети


Здравствуйте, я довольно новичок в сетевом программировании и пытаюсь общаться между двумя компьютерами в одной сети с помощью сокетов на Python.
Я узнал о розетках и о том, как их использовать, но по какой-то причине не смог заставить эту штуку работать.
Я попытался сделать это на одном компьютере с двумя разными Python IDE, и это сработало, но когда я попытался сделать это на двух разных компьютерах, это не сработало.

Что я уже пробовал:

Серверный
import socket

s = socket.socket()
host, port = socket.gethostname(), 12345
s.bind((host, port))
s.listen(5)
c, addr = s.accept()

c.send("Thank you for connecting to my server")
c.close()


Клиентский

import socket

s = socket.socket()
host, port = socket.gethostname(), 12345
s.connect((host, port))

print(s.recv(1024)


Пожалуйста, помогите мне решить эту проблему, заранее спасибо.

Richard MacCutchan

Google для "python socket samples", и вы найдете то, что вам нужно.

1 Ответов

Рейтинг:
2

Wendelius

Не уверен, правильно ли я понял вопрос, но похоже, что вы используете текущее имя хоста python как для клиентской, так и для серверной стороны. Таким образом, кажется, что вы всегда пытаетесь подключиться к тому же компьютеру, на котором выполняется код. Вместо этого вам, вероятно, следует использовать имя хоста, к которому вы пытаетесь подключиться и использовать его, например gethostbyname чтобы решить этот вопрос.

Другое дело, что порт, который вы используете, должен быть открыт, поэтому убедитесь, что брандмауэр не блокирует связь.