首页 > 代码库 > 【卷二】网络三—UDP服务器与客户端
【卷二】网络三—UDP服务器与客户端
这是另一个类型的服务器/客户端,无连接的 UDP: (User Datagram Protocol) 用户数据报协议
参考: P58~P60
UDP 时间戳服务器
【时间戳 就是ctime()显示的内容】
1 # coding: utf-8 2 3 from socket import * 4 from time import ctime 5 6 # HOST: 主机, 变量为空表示可以使用任何可用的地址 7 # PORT: 端口, 有效端口号范围是0~65535(1024以下的预留给了系统) 8 # BUFSIZ: 缓冲区, 大小可选, 这里设置为1024B, 即 1KB 9 HOST = ""10 PORT = 2156711 BUFSIZ = 102412 13 ADDR = (HOST, PORT)14 udpSerSock = socket(AF_INET, SOCK_DGRAM)15 udpSerSock.bind(ADDR)16 17 # 由于UDP类型套接字的是不用连接的, 所以没有监听(ss.listen())18 # 和让客户端转接到一个新的、独立的套接字的"转化"过程(ss.accept())19 20 while True:21 print "Waiting for message..."22 data, addr = udpSerSock.recvfrom(BUFSIZ)23 udpSerSock.sendto("[%s] %s" % (ctime(), data), addr)24 print "...received from and returned to:", addr25 26 udpSerSock.close()
UDP 客户端
1 # coding: utf-8 2 3 from socket import * 4 5 # HOST:主机名, PORT:端口, 要和服务器的一样, 不然无法建立联系 6 # PORT:端口, 同样可取0~65535(1024以下的预留给了系统) 7 8 HOST = "localhost" 9 PORT = 21567以下的10 BUFSIZ = 102411 ADDR = (HOST, PORT)12 13 udpCliSock = socket(AF_INET, SOCK_DGRAM)14 # 由于UDP套接字:(User Datagram Protocol)是不需要建立连接的, 所以15 # 也就没有(cs.connet())的过程16 17 while True:18 data = http://www.mamicode.com/raw_input("> ")19 if not data:20 break21 # 记得发送地址呀,不然服务器去哪找你呀,亲22 udpCliSock.sendto(data, ADDR)23 data, ADDR = udpCliSock.recvfrom(BUFSIZ)24 print data25 26 udpCliSock.close()
【卷二】网络三—UDP服务器与客户端
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。