2010-08-22 82 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