Python 实现半双工聊天器
发布时间:2020-05-25 01:38:38 所属栏目:Python 来源:互联网
导读:Python 实现半双工聊天器
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 #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()
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
