Pythonソケットのこの紹介を読みました: http://docs.python.org/3.3/howto/sockets.html
これは私のサーバーです
import socket
serversocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serversocket.bind(("localhost",8000))
serversocket.listen(5)
while True:
(client,addr)=serversocket.accept()
data=serversocket.recv(1024)
print(data.decode("utf-8"))
そしてこれがクライアントです
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("localhost",8000))
サーバーは、クライアントから送信されたすべてのデータを印刷するだけです。ご覧のとおり、メッセージ文字列を utf-8 でバイトとしてエンコードするつもりでした。しかし、私はそこまで来たことはありません。
サーバー スクリプトを実行した状態で、クライアントの行を 1 つずつ IDLE Python シェルに入力しました。3行目以降、このエラーが表示されました。私はドイツ人なので、これはあいまいな翻訳です。エラーを再現できる場合、エラー メッセージはおそらく異なるように聞こえます。
トレースバック (最新の最後の呼び出し): ファイル ""、1 行目、s.connect(("localhost",8000)) 内 OSError: [WinError 10056] 既に接続されているソケットを対象とした接続試行。
このエラーを解決するにはどうすればよいですか? サーバーはわずかに変更されていますが、クライアントはチュートリアルの正確なコードです。そして、エラーはかなり奇妙に見えます。結局のところ、ソケットがすでにサーバーに接続されている必要があります。最初は、サーバーに接続されているソケットがすでにあると思っていましたが、サーバーを再起動してクライアントコードを再度入力すると、同じ結果になります。