サーバとクライアントでソケットを作成するための基本プログラムを書きました。しかし問題は、コードを実行すると、通常は各ソケットアドレスの1つの使用しか許可されていないというエラーが表示されることです。だから私は問題がポートに起因すると思う、私はポートを変更し、まだ動作しません。これをどのように機能させるには?通常は各ソケットアドレスの1つの使用しか許可されていませんPython
これは私のコードです:あなたの助けのための
サーバー
import socket
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(('localhost',3200))
sock.listen(1)
print "Server is ready to receive data..."
client, address = sock.accept()
msg = client.recv(1024)
print msg
クライアント
import socket
connection_to_server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
connection_to_server.bind(('localhost',3200))
msg = raw_input("Please enter a content :")
connection_to_server.send(msg)
ありがとう!
Socket.bindは、任意のリスニングを開始していない、それだけでその名前が示すものを行います。特定のインターフェイスおよび/またはポートにソケットのローカル側を結合します。たとえば、サーバーが着信接続が特定のポートから来ることを期待している場合など、クライアントソケットでの使用があります。接続する前に 'getsockname'でどのポートが割り当てられているか知りたい場合には、' sock.bind(( "'、0))を呼び出して接続前に自動割り当てを強制することもできます。 – spectras
ああ、申し訳ありませんが、私はこの特定のモデルで何が起こっているのかを説明しようとしました。サーバーがソケットにバインドする前にソケットに入ってくるすべてのデータを読み取って、「リッスンする」必要があります。私はそれをより技術的に正しい/明白にするために修正します。 – ffledgling