Сервер сокетов 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).

В чем проблема с моим кодом?

0 ответов

Другие вопросы по тегам