python server端并发聊天
2024-10-09 07:26:04
---------------------------server.py---------------------
import socketserver class MyServer(socketserver.BaseRequestHandler):
#MServer类 继承socketserver.BaseRequestHandler类 def handle(self):#它内部封装的是建立连接的这个逻辑过程
#重写handle,必须叫handle方法,因为它是父类的一个方法
print ("服务端启动...")
while True:
conn = self.request
#拿客户端的通道,它内部把这个过程附给request变量
print (self.client_address)
while True: client_data=conn.recv(1024) print (str(client_data,"utf8"))
print ("waiting...")
server_response=input(">>>")
conn.sendall(bytes(server_response,"utf8"))
# conn.sendall(client_data) conn.close()
# print self.request,self.client_address,self.server if __name__ == '__main__':
server = socketserver.ThreadingTCPServer(('127.0.0.1',8011),MyServer)
#调用socketserver模块的ThreadingTCPServer类目的实现并发效果
#而参数就是ip+port和你定义的类---这样就完成了封装
server.serve_forever() #通过此方法启动,它执行的是handle里边的内容 ----------------------client.py-----------------------
import socket ip_port = ('127.0.0.1',8011)
sk = socket.socket()
sk.connect(ip_port)
print ("客户端启动:")
while True:
inp = input('>>>')
sk.sendall(bytes(inp,"utf8"))
server_response=sk.recv(1024)
print (str(server_response,"utf8"))
if inp == 'exit':
break
sk.close()
最新文章
- 应用程序启动管理 Winform版
- ZooKeeper:Quick Start
- ARM嵌入式开发板
- mysql sql常用语句大全
- linux中PHP dirname(__FILE__)路径问题解决
- Content-Type实体首部字段
- -_-#【jQuery插件】Spinner 数字选择器
- poj1222
- javescript扩展方法
- Windows台cocos2d-x 3.2下载一个新的项目,创造的过程
- 第16次CCF CSP认证-第5题-317 号子任务(subtask317)-图论最短路径
- git 命令提交项目到github
- 如何将maven配置在eclipse上
- Confluence 6 后台中的选择站点首页
- Linux命令:builtin
- Slave SQL_THREAD如何重放Relay log
- Centos 7 Saltstack 集群
- 富文本(wangEditor框架)的使用教程
- HDU.1796 How many integers can you find ( 组合数学 容斥原理 二进制枚举)
- 企业版Oracle10g的安装-过程