zoukankan      html  css  js  c++  java
  • socketserver

    SocketServer,网络通信服务器,是Python标准库中的一个模块,其作用是创建网络服务器。SocketServer模块定义了一些类来处理诸如TCP、UDP、UNIX流和UNIX数据报之上的同步网络请求。

    这里我们就简单的使用一下它其中的TCP并发功能:

      

    这个是服务器

    #  coding: utf-8
    #
    import socketserver
    # 使用方法:
    # 先写一个类
    
    class MyServer(socketserver.BaseRequestHandler):
        def handle(self):   # 固定是这个handle,
            # print('1234111')
    
            while 1:
                data  = self.request.recv(1024)    # 接收内容
                print(self.client_address)  # 这个是客户端的地址
                print(data.decode('utf-8'))
                self.request.send(data.upper())
    
    if __name__ == '__main__':
        # 创建一个基于tcp的对象
        '''
        只要有客户端连接 就会自动交给自定义类中handle方法处理
        '''
        server = socketserver.ThreadingTCPServer(('127.0.0.1',8080),MyServer)   # 启动了一个基于tcp的服务端
        server.serve_forever()  # 启动该服务对象 让他永远启动

     

    这个是客户端(和原来一样的)

    #  coding: utf-8
    # 这个和原来的是一样的
    import socket
    
    # 实例化
    client = socket.socket()
    
    # 连接到服务器
    client.connect(('127.0.0.1',8080))
    
    while 1:
        client.send(input('>>').encode('utf-8'))  # 对别人说话
        data = client.recv(1024)
        print(data)

    这样一来,就实现了tcp并发的功能(之前写的tcp不能同时服务多个服务端,这次就解决了之前的问题)

  • 相关阅读:
    寒假学习日报29
    寒假学习日报28
    保证多个线程顺序执行
    switchHost本地映射
    Redis 淘汰策略解读
    再过半小时,你就能明白kafka的工作原理了
    Zookeeper用来做什么的,有几种类型的节点
    类加载过程
    REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案
    数据库的锁机制及原理
  • 原文地址:https://www.cnblogs.com/pscly/p/11354321.html
Copyright © 2011-2022 走看看