Socket之UDP服务器【Python】

时间:2019-01-11
本文章向大家介绍Socket之UDP服务器【Python】,主要包括Socket之UDP服务器【Python】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

UDP服务器不需要TCP服务器的那么多设置,因为UDP不是面向连接的,除了等待传入连接之外,其他的不用做什么工作。接下来,还是一段伪代码的描述。

ss=socket()		#创建服务器的套接字
ss.bind()			#绑定服务器的套接字
inf_loop:			#服务器的无线循环	
	cs.ss.recvfrom()/ss.sendto()	#通讯,接受和发送数据
ss.close()		#关闭服务器套接字


我们对伪代码做一些简单的解释。除了普通的创建套接字并绑定到本地地址上(主机和端口号),并没有做一些其他的工作。服务器开始无线循环,接受客户端消息,打上时间戳再返回消息,然后等待另一条消息。同样的,代码的最后一行也是close()方法,也是可选的,因为你的服务器不能随便关闭 哦!

接下来,创建一个UDP服务器,让它来接受客户端的消息,然后再加上时间戳返回给客户端。

from socket import *		#导入模块
from time import ctime   

HORT=' '    
PORT=3421
BUFSIZ=1024
ADDR=(HOST,PORT)

udpSerSocket=socket(AF_INET,SOCK_DGRAM)
udpSerSocket.bind(ADDR)		#绑定地址

while True:
	print ("正在等待客户端的连接....")
	data,addr=udpSerSocket.recvfrom(BUFSIZ)	#接受消息
	
	udpSerSock.sendto(' [%s] %s '%(ctime(),data), addr)	#发送消息,加上时间戳
	print ('接收到消息,并返回',addr)
	
udpSerSock.close()	#关闭服务器端的套接字