python-- socketServer

简介: python-- socketServer

socketServer


客户端

import socket
client = socket.socket()
client.connect(('localhost', 9999))
while True:
    msg = input('>>>>:').strip()
    if len(msg) == 0:
        continue
    client.send(msg.encode('utf-8'))
    data = client.recv(1024)
    print("recv:", data.decode())
client.close()

服务端

import socketserver
class MyTcpHandler(socketserver.BaseRequestHandler):
    def handle(self):
        while True:
            try:
                self.data = self.request.recv(1024).strip()
                print("{} wrote:".format(self.client_address[0]))
                print(self.data)
                self.request.send(self.data.upper())
            except ConnectionResetError as e:
                print('err', e)
                break
if __name__ == "__main__":
    HOST, PORT = 'localhost', 9999
    server = socketserver.TCPServer((HOST, PORT), MyTcpHandler)
    server.serve_forever()


socketServer 多并发


客户端

import socket
client = socket.socket()
client.connect(('localhost', 9999))
while True:
    msg = input('>>>>:').strip()
    if len(msg) == 0:
        continue
    client.send(msg.encode('utf-8'))
    data = client.recv(1024)
    print("recv:", data.decode())
client.close()

服务端

import socketserver
class MyTcpHandler(socketserver.BaseRequestHandler):
    def handle(self):
        while True:
            try:
                self.data = self.request.recv(1024).strip()
                print("{} wrote:".format(self.client_address[0]))
                print(self.data)
                self.request.send(self.data.upper())
            except ConnectionResetError as e:
                print('err', e)
                break
if __name__ == "__main__":
    HOST, PORT = 'localhost', 9999
    server = socketserver.ThreadingTCPServer((HOST, PORT), MyTcpHandler)
    server.serve_forever()

可以同时处理多个客户端


相关文章
|
1月前
|
网络协议 Python
|
3月前
|
网络协议 Unix Linux
python socket和socketserver
python socket和socketserver
|
网络协议 Python
Python 标准类库 - 因特网协议与支持之socketserver
Python 标准类库 - 因特网协议与支持之socketserver
141 0
|
Python 网络协议 Linux
python-基于UDP通信的套接字,socketserver模块的使用
一、基于UDP协议通信的套接字 udp是没有链接的,所以先启动哪一端都不会报错 import socket server=socket.socket(socket.AF_INET,socket.
1954 0
|
移动开发 网络协议 Linux
Python网络编程(socketserver、TFTP云盘、HTTPServer服务器模型)
Python网络编程 Python小项目 Python网盘 Python HTTP请求服务端
2150 0
|
网络协议 Python Unix