我有Python上的客户端服务器套接字程序。 在客户端和服务器中我都使用环回地址。 但请协助如何使用此代码并在不同的客户端服务器计算机上应用 例如(服务器 IP 192.168.1.4 和客户端 IP 192.168.1.5)
# Server program
from socket import *
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)
while 1:
data,addr = UDPSock.recvfrom(buf)
if not data:
print "Client has exited!"
break
else:
print "\nReceived message '", data,"'"
UDPSock.close()
# Client program
from socket import *
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)
UDPSock = socket(AF_INET,SOCK_DGRAM)
def_msg = "===Enter message to send to server===";
print "\n",def_msg
while (1):
data = raw_input('>> ')
if not data:
break
else:
if(UDPSock.sendto(data,addr)):
print "Sending message '",data,"'....."
UDPSock.close()
最佳答案
在服务器代码中使用 '192.168.1.5'
(客户端地址),而不是 'localhost'
,'192.168.1.4'
> (服务器的地址)在客户端代码中。
通常,服务器不需要事先知道客户端的地址,但 UDP 在很多方面都比 TCP(更常见的、面向流的套接字通信方法)更复杂;-)。
关于python - Python 中的客户端服务器套接字编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541611/