代码拉取完成,页面将自动刷新
帮助你快速构建TCP连接,封装的非阻塞多线程Socket, 实现了TCP服务器(TCPServer)&TCP客户端(TCPClient)
multithreaded_socket
python安装目录\Lib\site-packages\multithreaded_socket
multithreaded_socket
# 导入包, 自行修改位置
from client import TCPClient
from handler import BaseHandler
from protocol import Protocol, TEXT_MESSAGE, FILE_MESSAGE, JSON_MESSAGE
class SimpleHandler(BaseHandler):
def before_request_middleware(self, request: Protocol) -> bool:
if request.header.get("test") and request.header.get("test") == "Test Header":
return True
return False
def text_handler(self, request: Protocol):
print("type: ", request.type)
print("version: ", request.version)
print("header: ", request.header)
print(request.body.decode("utf-8"))
def json_handler(self, request: Protocol):
pass
def file_handler(self, request: Protocol):
pass
if __name__ == '__main__':
client = TCPClient("127.0.0.1", 8848, handler_cls=SimpleHandler)
client.connect()
while client.is_run:
data = input()
if data == "exit":
client.node_disconnection()
break
p = Protocol(TEXT_MESSAGE, data)
p.set_header("test", "Test Header")
client.send(p)
# 导入包, 自行修改位置
from server import TCPServer
from handler import BaseHandler
from protocol import Protocol, TEXT_MESSAGE, FILE_MESSAGE, JSON_MESSAGE
class SimpleHandler(BaseHandler):
def before_request_middleware(self, request: Protocol) -> bool:
if request.header.get("test") and request.header.get("test") == "Test Header":
return True
return False
def text_handler(self, request: Protocol):
print("type: ", request.type)
print("version: ", request.version)
print("header: ", request.header)
print(request.body.decode("utf-8"))
def json_handler(self, request: Protocol):
pass
def file_handler(self, request: Protocol):
pass
if __name__ == '__main__':
server = TCPServer("127.0.0.1", 8848, SimpleHandler)
server.run_server()
while server.is_run:
data = input()
if data == "exit":
server.node_disconnection()
break
p = Protocol(TEXT_MESSAGE, data)
p.set_header("test", "Test Header")
server.send(p)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。