Python 实现半双工聊天器
发布时间:2020-12-17 17:05:00 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #coding=utf-8import socket #加载socket模块from time import ctime#加载time模块ctime类HOST = ''#设置主机IP,为空则表示本机上所有的网卡ip。PORT
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #coding=utf-8 import socket #加载socket模块 from time import ctime #加载time模块ctime类 HOST = '' #设置主机IP,为空则表示本机上所有的网卡ip。 PORT = 3300 #设置端口号 BUSIZ = 1024 #设置数据缓冲区,1KB ADDR = (HOST,PORT) def closeTCnt(): # TCntSock.close() print "Session closing.." TSerSock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建一个TCP sokcet TSerSock.bind(ADDR) #绑定TCP socket的地址和端口 TSerSock.listen(1) #只接收一个请求,如后续后其他请求则会被拒绝 try: while True: print 'Waitting for connection...' (TCntSock,cntAddr) = TSerSock.accept() #TSerSock.accept 返回一个(conn,addr)的元组。 conn是一个socket对象,而addr是客户端IP地址和端口 print '...connection from:',cntAddr try: while True: rData = TCntSock.recv(BUSIZ) #接收客户端信息 if not rData: continue elif rData == 'quit': #当收到‘quit’后关闭TCntSock并等待下一次链接 break else: print 'From [%s] %s n %s' % (cntAddr[0],ctime(),rData) while True: sData = raw_input('I:> ') if not sData: continue else: TCntSock.send('From [%s] %s n %s' % (cntAddr[0],sData)) #发送服务器信息。 break except socket.error,detail: #发生错误是关闭TCntSock,输出错误信息并等待下一次链接 print detail closeTCnt() finally: TSerSock.close() 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |