私はhttp://wiki.python.org/moin/UdpCommunicationrecvfromが返すアドレスの2番目の部分は何ですか?
からサーバーをコードするこれらの2枚を使用しています:
:サーバーでimport socket
UDP_IP="127.0.0.1"
UDP_PORT=5005
MESSAGE="Hello, World!"
print "UDP target IP:", UDP_IP
print "UDP target port:", UDP_PORT
print "message:", MESSAGE
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
、私は最後の行を変更します。クライアントは
import socket
UDP_IP="127.0.0.1"
UDP_PORT=5005
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP,UDP_PORT))
while True:
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
print "received message:", data,"from", addr
print "received message:", data,"from", addr
これは、メッセージが送信されたアドレスを出力します。 私のmacbookでポートは40000か65000の間の乱数のようです(私はそれがランダムであると確信しています)。
これはどういう考えですか?
私はこの種のポートの実用性を本当に理解していませんが、このポートはここにありますので、1つのアプリケーションが何らかの答えを出すように変更しましたか? – jokoon
考えられるのは、長時間聴いていなければならない重要な事柄に対しては、ポート番号が小さいほど必要なので、クライアントアプリケーションは、その時点で利用可能な高域ポートから送信します。 – agf
代わりに使用するポートを指定することはできませんか? – jokoon