サーバーの例を使用しようとしていますが、クライアントは 1 つのメッセージしか送信できず、サーバーは番号で応答します。
これがコードです。
import socket
mySocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
mySocket.bind ( ( '', 2000 ) )
mySocket.listen ( 1 )
while True:
channel, details = mySocket.accept()
print 'We have opened a connection with', details
print channel.recv ( 100 )
channel.send ( 'Green-eyed monster.' )
channel.close()
質問:
クライアントがサーバーにメッセージを送信するたびに、番号で応答するのはなぜですか?
LAN 経由ではなく、インターネット経由でソケットを使用するにはどうすればよいですか?
IMプログラムのように、サーバーがソケットを使用してクライアントからクライアントにデータを移動する方法はありますか。
私はこの IM サーバーを友人のために私の Mac でホストする可能性が高いです。OS 間 (Mac、PC) で動作しますか?
これに使用する良いライブラリはありますか? (HTTPは素晴らしいと聞いたことがあります)
これらのコード行は非常に紛らわしいです。それらはどのように機能しますか?
print channel.recv ( 100 ) channel.send ( 'Green-eyed monster.' )
また、サーバーを閉じて (赤い X を使用)、ポートを再利用すると、次のように表示されます。
Traceback (most recent call last): File "C:\Users\****\Desktop\Python\Sockets\First Server\server.py", line 3, in <module> mySocket.bind ( ( '', 2003 ) ) File "C:\Python27\lib\socket.py", line 224, in meth return getattr(self._sock,name)(*args) error: [Errno 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted
最後に、これをよりよく理解するための優れたチュートリアルはどこにありますか?
同じ投稿で多くの質問をして申し訳ありませんが、私がこれを投稿したとき、人々は別の問題で同様の問題について投稿したことで私に腹を立てました.
Python バージョン: Python 2.7.3