ss = socket() # 创建一个服务器套接字 ss.bind() # 绑定服务器套接字 inf_loop: # 服务器无限循环 cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送) ss.close() # 关闭服务器套接字
服务器端:
from socket import * from time import ctime UdpSock=socket(AF_INET,SOCK_DGRAM) #参数SOCK_DGRAM对应的是UDP协议 name=gethostname() port=12348 UdpSock.bind((name,port)) while True: print("等待接入") data,addr=UdpSock.recvfrom(1024) #与TCP的区别。因为不需要事先建立链接,因此需要获取客户端的地址,并随时按照地址发送消息 print(str(addr)+"已接入") data=(data.decode("UTF-8")+ctime()).encode("UTF-8") UdpSock.sendto(data,addr) #向客户端发送消息 UdpSock.close()
客户端:
#coding=UTF-8 from socket import * import sys reload (sys) sys.setdefaultencoding('utf8') host="192.168.1.66" port=12348 UdpSock=socket(AF_INET,SOCK_DGRAM) while True: data=raw_input("快打字:") if not data: break UdpSock.sendto(data,(host,port)) #无需connect,直接通过主机ip和端口访问主机 data,addr=UdpSock.recvfrom(1024) print(data.decode("UTF-8")) UdpSock.close()
下一讲
如果有什么疑问欢迎到我的微信公众号提问~
Python网络编程02----基于UDP的Python简易服务器
原文地址:http://blog.csdn.net/a359680405/article/details/42557135