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
  • 相关阅读:
    bootstrap学习9-路径分页和徽章组件
    bootstrap学习8-输入框和导航栏组件
    bootstrap学习7-图标菜单和按钮组件
    bootstrap学习6-辅助类和响应工具
    bootstrap学习5-栅格系统
    bootstrap学习4-表单和图片
    bootstrap学习3-表格和按钮组件
    bootstrap学习笔记2
    相等操作符
    读《JavaScript dom编程艺术(第2版)》笔记 1-2
  • 原文地址:https://www.cnblogs.com/rexyan/p/6166126.html
Copyright © 2011-2022 走看看