2010-08-22 81 views
1

我有Python上的客户端服务器套接字程序。 在客户端和服务器中,我使用环回地址。 但好心帮助如何使用此代码,并应用在不同的客户端服务器的机器 EG(服务器IP 192.168.1.4 &客户端IP 192.168.1.5)Python中的客户端服务器套接字编程

# 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() 
+1

请向我们展示一些代码。已添加代码 – relet 2010-08-22 13:25:32

+0

。 谢谢 – 2010-08-22 13:32:38

回答

3

相反的'localhost',在使用'192.168.1.5'(客户端的地址)客户端代码中的服务器代码'192.168.1.4'(服务器的地址)。

通常情况下,服务器事先不需要知道客户端的地址,但UDP在很多方面比TCP(更常用的,面向流的套接字通信方式)更节能;-)。

+0

嗨答案奏效。 非常感谢。 – 2010-08-22 17:40:22

+0

@Nilesh,不客气! – 2010-08-22 18:16:05