zoukankan      html  css  js  c++  java
  • 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

    运行截图:

    Rex_Blog

    下一次我们加上数据库,实现登录,注册的聊天室

     原文地址:http://rexyan.cn/article/25

    更多内容,可访问:http://rexyan.cn
  • 相关阅读:
    react系列(二)高阶组件-HOC
    【译】2分钟介绍Rx
    react系列(一)JSX语法、组件概念、生命周期介绍
    react系列(零)安装
    函数节流和函数防抖
    观察者模式和发布订阅模式(下)
    观察者模式和发布订阅模式(上)
    java学习第二天 20207/7
    2020/7/6博客日报Java的开始--pthread的安装
    node.js实现excel导出/exceljs实现导出
  • 原文地址:https://www.cnblogs.com/rexyan/p/6166126.html
Copyright © 2011-2022 走看看