整理业务逻辑,添加一些注释
This commit is contained in:
31
server.py
31
server.py
@@ -3,6 +3,7 @@ import threading
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
|
||||
|
||||
import prot_codec as pc
|
||||
@@ -10,22 +11,39 @@ import target as tg
|
||||
|
||||
|
||||
|
||||
# 服务器端脚本,用于转发端口数据
|
||||
# 代理服务器端脚本,用于转发端口数据
|
||||
|
||||
SERVER_PORT = 5345
|
||||
|
||||
_log_fp=None
|
||||
|
||||
def _time():
|
||||
return '['+time.strftime("%Y-%m-%d %H:%M:%S")+']'
|
||||
|
||||
def myprint_dec(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
# 在这里添加额外的功能
|
||||
# print(_time(), str(e),file=_log_fp)
|
||||
kwargs["file"]=_log_fp
|
||||
result = func(_time(),*args, **kwargs)
|
||||
_log_fp.flush()
|
||||
return result
|
||||
return wrapper
|
||||
|
||||
myprint=myprint_dec(print)
|
||||
|
||||
|
||||
|
||||
# 定义个函数,使其专门重复处理客户的请求数据(也就是重复接受一个用户的消息并且重复回答,直到用户选择下线)
|
||||
def dispose_client_request(tcp_client_1,tcp_addr):
|
||||
print(f"客户端:{tcp_addr} 已连接")
|
||||
myprint(f"客户端:{tcp_addr} 已连接")
|
||||
recv_data=bytearray()
|
||||
target =tg.tcp_target(tcp_client_1)
|
||||
while True:
|
||||
try:
|
||||
recv = tcp_client_1.recv(4096)
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
myprint(str(e))
|
||||
break
|
||||
if recv:
|
||||
recv_data+=recv
|
||||
@@ -38,9 +56,9 @@ def dispose_client_request(tcp_client_1,tcp_addr):
|
||||
recv_data=recv_data[end+1:]
|
||||
else:
|
||||
break
|
||||
print(f"客户端:{tcp_addr} 已下线")
|
||||
tcp_client_1.close()
|
||||
myprint(f"客户端:{tcp_addr} 已下线")
|
||||
target.close()
|
||||
tcp_client_1.close()
|
||||
|
||||
|
||||
|
||||
@@ -49,7 +67,7 @@ def start_service():
|
||||
tcp_server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
|
||||
tcp_server.bind(("",SERVER_PORT))
|
||||
|
||||
print(f"开始监听 ({SERVER_PORT})")
|
||||
myprint(f"开始监听 ({SERVER_PORT})")
|
||||
tcp_server.listen(128)
|
||||
|
||||
while True:
|
||||
@@ -61,4 +79,5 @@ def start_service():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
_log_fp=open("tcp_tran_server.log",mode="w+",encoding="utf-8")
|
||||
start_service()
|
||||
|
Reference in New Issue
Block a user