首页 > 代码库 > Python Socket 简单聊天室2
Python Socket 简单聊天室2
上篇文章写了一个简单的单线程的一问一答的简单聊天室。这次我们使用SocketServer模块搭建一个多线程异步的聊天室。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# -*- coding:utf-8 -*- import SocketServer class mysocketclass(SocketServer.BaseRequestHandler): def handle( self ): client_information = self .request; #获取客户端的信息,相当于accept client_information.send( ‘Welcome!‘ ); while True : data = client_information.recv( 1024 ) if data = = ‘exit‘ : client_information.close(); else : print ‘**Client**:‘ ,(data); client_information.send( "ok" ); if __name__ = = ‘__main__‘ : ip_add = ( ‘127.0.0.1‘ , 9998 ); server = SocketServer.ThreadingTCPServer(ip_add,mysocketclass); server.serve_forever(); |
客户端
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#-*-coding:utf-8-*- import socket socket_object = socket.socket(); ip_add = ( ‘127.0.0.1‘ , 9998 ); socket_object.connect(ip_add); while True : print ‘**Server**:‘ ,(socket_object.recv( 1024 )) seend_content = raw_input ( ‘Client:‘ ); socket_object.send(seend_content) if seend_content = = ‘exit‘ : socket_object.connect.close(); |
从代码可以看出,客户端的内容是没变的。变动的是服务端采用了模块SocketServer
运行截图:
下一次我们加上数据库,实现登录,注册的聊天室
原文地址:http://rexyan.cn/article/25
Rex博客保留所有权利
Python Socket 简单聊天室2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。