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不能同时服务多个服务端,这次就解决了之前的问题)

原文地址:https://www.cnblogs.com/pscly/p/11354321.html