Сервер сокетов Python работает только иногда
Я новичок в программировании на Python и попытался создать простой сервер сокетов Python. Я закодировал client.py и server.py на моем ноутбуке, и он, кажется, работает (он делает то, что должен делать....), но если я пытаюсь запустить сервер на моем ноутбуке и клиент на моем на другом компьютере время от времени.
client.py
import socket
s = socket.socket()
host = '192.168.178.87'
port = 12345
s.connect((host, port))
print s.recv(1024)
s.sendall("greetings")
server.py
import socket
s = socket.socket()
host = ''
port = 12345
s.bind((host, port))
s.listen(5)
i = 0
while i < 5:
c, addr = s.accept()
print 'Got connection from', addr
c.send('Thank you for connecting')
data = c.recv(1024)
print data
c.close()
i += 1
print i
s.close()
Я использую FritzBox 7390
, Оба компьютера находятся в одной локальной сети, оба брандмауэра отключены и антивирус не установлен.
я использую windows 7
и python 2.7 на обоих компьютерах.
Моя проблема подвела итог:
Если я запускаю сервер на своем ноутбуке (192.168.178.87
) и откройте файл client.py через
cmd на том же компьютере, он работает (я пытался использовать 127.0.0.1
, 192.168.178.87
и мой официальный адрес ipv4 (portforwarding в роутере)) и все работает.
Но если я попытаюсь использовать client.py на другом компьютере (192.168.178.131
) Это
работает, только если я пятый, чтобы попытаться подключиться, и я понятия не имею, почему.
Я могу подключиться к серверу через браузер, и это иногда работает, но в основном
ошибка тайм-аута (Errno 10060
).
В чем проблема с моим кодом?