Python Socket 简单聊天室2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Python Socket 简单聊天室2的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发实战Unity使用Socket通信实现简单的多人聊天室(万字详解 | 网络 | TCP | 通信 | Mirror | Networking)

Python Socket 编程——聊天室演示样例程序

Python学习:Socket编程——多客户端通信聊天室

python网络编程——实现简单聊天

Python下的socket编程

使用python完成一个hello/hi的简单的网络聊天程序