socketserver模块

这个模块帮你做了很多socket的操作,比如建立连接,监听,绑定,多线程或多进程,很方便

服务端:

import socketserver

class Myserver(socketserver.BaseRequestHandler):   # 这里创建一个类然后继承
    def handle(self):    # 这里一定要是handle,里面放的是自己的代码,conn在这里面要变成self.request
        while 1:
            try:
                ret = self.request.recv(1024)
                self.request.sendall(ret.upper())
            except Exception:
                continue
        self.request.close()

server = socketserver.ThreadingTCPServer(('127.0.0.1',8001),Myserver)
# 这里就帮你做了这些事情:socket.socket(),bind,listen
server.serve_forever()   # 这里帮你做的是accept

客户端:这里用了多线程进行测试

import  socket
from threading import Thread


def func():
    cliend = socket.socket()

    cliend.connect(('127.0.0.1', 8001))


    try:
        inp = 'sb'
        cliend.sendall(inp.encode('utf-8'))
        ret = cliend.recv(1024)
        print(ret.decode('utf-8'))
    except:
        pass


for i in range(100):
    t = Thread(target=func)
    t.start()

 

posted @ 2019-09-07 21:07  tiwe  阅读(177)  评论(0编辑  收藏  举报