我使用的那些2個的代碼從http://wiki.python.org/moin/UdpCommunicationrecvfrom返回的地址的第二部分是什麼?
服務器:
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
客戶端:
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))
在服務器中,我修改的最後一行:
print "received message:", data,"from", addr
因此它打印郵件的發送地址。 在我的MacBook上,端口似乎是40000或65000之間的一些隨機數(我確信它看起來是隨機的)。
不知道這可能是什麼?
我真的不明白這種端口的用途,這個端口是否在這裏,所以一個應用程序有一個改變來做出某種答案? – jokoon
這個想法是,對於那些必須長時間收聽它們的重要事情,需要較少數量的端口,所以客戶端應用程序不會妨礙他們,而是從當時可用的任何高端端口發送。 – agf
我的意思是我不能指定要使用的端口嗎? – jokoon