资源简介
python多人聊天服务器,供新人学习socket用,适合flash,actionscript
代码片段和文件信息
#!/usr/bin/python
#-*- coding: utf-8 -*-
import socket
host = “127.0.0.1“
port = 9921
addr = hostport
clients = {}
def stringPolishing(value):
length = 6-len(value)
for i in range(length):
value = ‘0‘+value
return value
def decoderData(valuesock):
position = 0
print value
try:
commandLen = int(value[0:6])
position += 6
command = value[position:position+commandLen]
print ‘command‘command
position += commandLen
if command==“login“:
nameLen = int(value[position:position+6])
position += 6
userName = value[position:position+nameLen]
print ‘userName‘+userName
sendData = ‘‘
for key in clients.keys():
sendData += stringPolishing(str(len(key)))
sendData += key
clients[key].send(‘000005login‘+stringPolishing(str(nameLen))+userName)
sock.send(‘000010currPeople‘+stringPolishing(str(len(clients)))+sendData)
clients[userName] = sock
elif command==“talk“:
for key in clients.keys():
clients[key].send(value)
elif command==“logout“:
nameLen = int(value[position:position+6])
position += 6
userName = value[position:position+nameLen]
clients[userName].close()
del clients[userName]
for key in clients.keys():
clients[key].send(value)
except ValueError:
sock.send(“command error“)
server = socket.socket(socket.AF_INETsocket.SOCK_STREAM)
server.bind(addr)
server.listen(999)
while True:
clientSockaddrs = server.accept()
print “client ip:“ + str(addrs[0])
print “client port:“ + str(addrs[1])
clientData = clientSock.recv(2000)
decoderData(clientDataclientSock)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 51962 2010-11-25 18:33 聊天程序协议.pdf
文件 647 2010-11-03 21:40 policyServer.py
文件 1927 2010-11-25 20:13 ChatServer.py
----------- --------- ---------- ----- ----
54536 3
- 上一篇:excel转化成lua 表
- 下一篇:RGSS3A解包器Python版
相关资源
- RGSS3A解包器Python版
- Python 3网络爬虫开发实战
- 线性规划-单纯形法-窗体实现(pytho
- MACD指标股票量化投资策略源码
- python随机森林实现代码和
- python开发的基于串口通讯的上位机应
- 遗传算法实现入侵检测,AISpython实现
- Python零基础10天进阶班.rar
- python 超级玛丽 增强版本完整代码实现
- python3.8爬取拉勾教育mp4视频解密m3u8到
- isbn查询书籍详细信息2.0
- 计算N50的python脚本.zip
- Python+OpenCv实现AI人脸识别身份认证系
- windows下crf++的python接口安装需要文件
- 智能小车视觉巡线python代码
- 用Python自动办公,做职场高手.txt
- 共轭梯度法求解线性方程组conj_gradi
- 使用pyqt5实现的Python-GUI动态作图
- python简易jpeg编码
- 2018传智python 15期 视频教程 今年刚
- python 获取 去哪儿网 火车票信息
- python聊天室
- Python排序算法
- anaconda+python3.5
- 基于python实现的http接口自动化测试框
- jpype1for python3.6
- traits-4.6.0-cp36-cp36m-win_amd64.whl
- python svm算法源码
- python批量灰度化处理图片
- calendar.py
评论
共有 条评论