035server端并发聊天
2018-06-18 01:40:40来源:未知 阅读 ()
1 import socketserver 2 3 class MyServer(socketserver.BaseRequestHandler): 4 def handle(self): # 里面是每个客户端连接执行的过程 5 print('服务器启动') 6 while True: 7 conn = self.request 8 print(self.client_address) 9 while True: 10 client_data = conn.recv(1024) 11 print(str(client_data,'utf8')) 12 print('waiting...') 13 conn.sendall(client_data) 14 conn.close() 15 16 if __name__ == '__main__': 17 server = socketserver.ThreadingTCPServer(('127.0.0.1',8888),MyServer) 18 server.serve_forever() # 激活这个服务器对象
1 import socket 2 3 def connect_server(): 4 sk = socket.socket() 5 server_address = ('127.0.0.1',8888) 6 sk.connect(server_address) 7 return sk 8 9 if __name__ == '__main__': 10 sk = connect_server() 11 while True: 12 inp = input('>>>') 13 if inp == 'exit': 14 break 15 sk.send(bytes(inp,'utf8')) 16 print('waiting...') 17 data = sk.recv(1024) 18 print(str(data,'utf8')) 19 sk.close()
实现并发聊天:
1、继承socketserver.BaseRequestHandler
2、使用socketserver.ThreadingTCPServer(('127.0.0.1',8888),MyServer)拿到一个服务器对象
要相互发送信息,可以在handle方法里面改成这个,这里的聊天还是有很多缺憾
自己调式一下这个执行过程,看python的实现源码
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:python爬虫之基本知识
- python 之 并发编程(线程理论,开启线程的两种方式,进程 2019-07-24
- 基于tornado---异步并发接口 2019-07-24
- python 之 并发编程(生产者消费者模型、守护进程的应用) 2019-07-24
- python 之 并发编程(守护进程、互斥锁、IPC通信机制) 2019-07-24
- python 之 并发编程(开启子进程的两种方式,进程对象的属性 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash