您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Python中如何使用TCP与UDP协议套接字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
TCP协议
服务器端:
#!/usr/bin/env python from socket import * from time import ctime HOST = '' PORT = 21567 BUFSIZ = 1024 ADDR = (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 python from socket import * HOST = 'localhost' PORT = 21567 BUFSIZ = 1024 ADDR = (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 data tcpCliSock.close()
UDP协议
服务器端:
#!/usr/bin/env python from socket import * from time import ctime HOST = '' PORT = 21567 BUFSIZ = 1024 ADDR = (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:', addr udpSerSock.close()
客户端:
#!/usr/bin/env python from socket import * HOST = 'localhost' PORT = 21567 BUFSIZ = 1024 ADDR = (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 data udpCliSock.close()
关于Python中如何使用TCP与UDP协议套接字问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。