Python中的客户端服务器套接字编程

时间:2010-08-22 13:21:31

标签: python

我在python上有Client Server Socket程序。 在客户端和服务器中,我使用环回地址。 但请协助如何使用此代码并应用于不同的Client Server计算机 例如(服务器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()

1 个答案:

答案 0 :(得分:3)

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

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