Python网络编程之TCP与UDP协议套接字用法示例
Python  /  管理员 发布于 7年前   260
本文实例讲述了Python网络编程之TCP与UDP协议套接字用法。分享给大家供大家参考,具体如下:
TCP协议
服务器端:
#!/usr/bin/env pythonfrom socket import *from time import ctimeHOST = ''PORT = 21567BUFSIZ = 1024ADDR = (HOST, PORT)tcpSerSock = socket(AF_INET, SOCK_STREAM) ##创建服务器TCP套接字tcpSerSock.bind(ADDR)tcpSerSock.listen(5)while True: print 'waiting for connection...' tcpCliSock, addr = tcpSerSock.accept() ##等待客户端连接 print '...connected from:', addr while True: data = tcpCliSock.recv(BUFSIZ) ##监听客户端是否发送消息 if not data: break tcpCliSock.send('[%s] %s' % ( ctime(), data)) tcpCliSock.close()tcpSerSock.close()
客户端:
#!/usr/bin/env pythonfrom socket import *HOST = 'localhost'PORT = 21567BUFSIZ = 1024ADDR = (HOST, PORT)tcpCliSock = socket(AF_INET, SOCK_STREAM) ##创建客户端TCP套接字tcpCliSock.connect(ADDR) ##连接服务器while True: data = raw_input('> ') if not data: break tcpCliSock.send(data) data = tcpCliSock.recv(BUFSIZ) ##监听客户端发送消息 if not data: break print datatcpCliSock.close()
UDP协议
服务器端:
#!/usr/bin/env pythonfrom socket import *from time import ctimeHOST = ''PORT = 21567BUFSIZ = 1024ADDR = (HOST, PORT)udpSerSock = socket(AF_INET, SOCK_DGRAM)udpSerSock.bind(ADDR)while True: print 'waiting for message...' data, addr = udpSerSock.recvfrom(BUFSIZ)##监听并接受客户端发的消息 udpSerSock.sendto('[%s] %s' % ( ##给消息加上时间戳并返回给客户端 ctime(), data), addr) print '...received from and returned to:', addrudpSerSock.close()
客户端:
#!/usr/bin/env pythonfrom socket import *HOST = 'localhost'PORT = 21567BUFSIZ = 1024ADDR = (HOST, PORT)udpCliSock = socket(AF_INET, SOCK_DGRAM)while True: data = raw_input('> ') if not data: break udpCliSock.sendto(data, ADDR) ##给服务器发送数据 data, ADDR = udpCliSock.recvfrom(BUFSIZ) ##客户端接受带时间戳的数据 if not data: break print dataudpCliSock.close()
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号