温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中如何使用TCP套接字

发布时间:2021-06-23 17:18:08 来源:亿速云 阅读:168 作者:Leah 栏目:开发技术

这篇文章给大家介绍Python中如何使用TCP套接字,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

#!/usr/bin/python 'test TCP server' from socket import *  #套接字所需要的模块 from time import ctime  #时间模块 HOST = ''  #主机名,为空,表示可以绑定在任何有效的地址上。 PORT = 21567  #随机选的可用端口 BUFSIZ = 1024  #发送数据的缓冲区 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM)  #第一个参数是socket_family,此处用常用的AF_INET,第二个参数是流套接字,即创建的是tcp tcpSerSock.bind(ADDR)  #套接字与地址绑定 tcpSerSock.listen(5)  #开始监听,参数表示允许的最大连接数 while True:   print 'waiting for connection...'   tcpCliSock, addr = tcpSerSock.accept()  #打开大门等待客人,accept返回一个元组(connection,address)。第一个元素是新的socket对象,服务器必须通过它与客户通信;第二个是客户的地址。   print '...connected from:',addr   while True:     data = tcpCliSock.recv(BUFSIZ)  #洗耳恭听,把客人的话记录到data中     if not data:  #客人话说完了,送客       break     tcpCliSock.send('[%s] %s' %(ctime(), data))  #发送当前时间,以及数据给客人   tcpCliSock.close()  #送客,关闭与该客人通信的套接字 tcpSerSock.close()  #因为上面是死循环,此处不是必须的,只是提醒大家离开的时候务必要关门!

上面用到了两个套接字,第一个tcpSerSock称为欢迎套接字,第二个tcpCliSock才是真正负责与客户端通信的套接字,这样做的好处是,一个服务器可以同时接待多个客人。

下面则是客户端的代码,非常简单:

#!/usr/bin/python 'test tcp client' from socket import * HOST = 'localhost'  #因为我是在同一台机器上运行,所以是localhost,不同主机的话,此处需要改成服务器地址 PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM)  #客户端只需要一个套接字 tcpCliSock.connect(ADDR)  #发起连接 while True:   data = raw_input('>')   tcpCliSock.send(data)  #发送数据   if not data:     break   data = tcpCliSock.recv(BUFSIZ)  #接收数据   print data tcpCliSock.close()

关于Python中如何使用TCP套接字就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI