私は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")
サーバー.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を使用しています。
私の問題は次のとおりです。
ラップトップでサーバーを実行し( ) 、同じコンピューターでcmdを192.168.178.87
介してclient.pyを開くと、動作し(使用しようとしました、および公式のipv4アドレス(ルーターでのポート転送))、すべてが動作します。127.0.0.1
192.168.178.87
192.168.178.131
しかし、他のコンピューター ( ) でclient.py を使用しようと
すると、5 番目に接続を試みた場合にのみ機能し、その理由がわかりません。
ブラウザ経由でサーバーに接続でき、時々動作しますが、ほとんど
の場合、タイムアウト エラーが発生します ( Errno 10060
)。
私のコードの問題は何ですか?