下面是其他相关的终端的创建:
Socket之TCP服务器【Python】
Socket之TCP客户端【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() #关闭服务器端的套接字