下面是其他相关的终端的创建:
Socket之TCP服务器【Python】
Socket之TCP客户端【Python】
Socket之UDP服务器【Python】
在我们编写的4个终端中,UDP客户端的代码是最简单的。同样的,下面也是伪代码的描述。
cs=socket() #创建客户端的套接字
comm_loop: #通信循环
cs.sendto()/cs,recvfrom() #对话,接受和发送消息
cs.close() #关闭客户端的套接字
当我们创建好套接字对象的时候,就会自动进入到对话的循环中,然后我们就可以与服务器交换消息。最后,当通讯结束时,就关闭套接字。
接下来是创建一个UDP的客户端,提示用户输入发给服务器的消息,并接受服务器的加上时间戳的消息。
from socket import *
HOST='localhost'
PORT='3421'
BUFSIZ=1024
ADDR=(HOST,PORT)
udpCliSock=socket(AF_INET,SOCK_DGRAM)
while True:
data=input('输入要发送的消息: ')
if not data :
break
udpCliSock.sendto(data,ADDR)
data,ADDR=udpCliSocket.recvfrom(BUFSIZ)
if not data:
break
print(data)
udpCliSock.close()
udp客户端循环工作方式和TCP客户端差不多一样。唯一的区别就是事前不需要建立与UDP服务器的连接,只是简单的发送一条消息并等待服务器的回复。在时间戳字符串返回后,显示在屏幕上,然后更待更多的消息。最后,当输入结束后,跳出循环关闭套接字。