socketserver模块
server.py()
from socket import * ip_port = ('127.0.0.1', 8800) tcp_socket_server = socket() tcp_socket_server.bind(ip_port) tcp_socket_server.listen(5) while 1: conn, addr = tcp_socket_server.accept() print('客户端',addr) while 1: client_data = conn.recv(1024) print(client_data.decode("utf-8")) if client_data.decode("utf-8") == "exit": print("客户端断开连接,等待新的用户连接") break print('接收数据>>>',str(client_data, "utf8")) response = input("响应数据>>>") conn.sendall(bytes(response, "utf8")) conn.close()
多高并发的:
client.py
import socket ip_port = ('127.0.0.1', 8880) sock = socket.socket() sock.connect(ip_port) print("客户端启动:") while True: inp = input('发送数据>>>') sock.sendall(bytes(inp, "utf8")) if inp == "exit": break server_response=sock.recv(1024) print("服务器响应数据>>>", str(server_response,"utf8"))
socker_server.py
import socketserver ''' socketserver使用模式 1 功能类 class MyServer(socketserver.BaseRequestHandler): #继承这个类 def handle(self): pass 2 server = socketserver.ThreadingTCPServer(('127.0.0.1', 8800), MyServer) 3 server.serve_forever() ''' class MyServer(socketserver.BaseRequestHandler): #继承这个类 def handle(self): """ 并发的业务逻辑 conn :return: """ while 1: client_data = self.request.recv(1024) print(client_data.decode("utf-8")) if client_data.decode("utf-8") == "exit": print("客户端断开连接,等待新的用户连接") break print('接收数据>>>',str(client_data, "utf8")) response = input("响应数据>>>") self.request.sendall(bytes(response, "utf8")) self.request.close() #1 self.socket 2 self.socket.bind() 3 self.socket.listen(5) (初始化的过程中它帮我们做了这3件事情) server = socketserver.ThreadingTCPServer(('127.0.0.1', 8880), MyServer) #封装TCP协议相关的套接字对象 server.serve_forever()
这里ThreadingTCPServer是基于TCP, 也有基于UDP的ThreadingUDPServer ---->>>多线程并发
ForkingTCPServer ----->>> 多进程并发的,创建的是多进程而不是多线程了
标签:
python
, python网络编程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人