no message

This commit is contained in:
MATRIX\29620 2025-01-20 17:31:23 +08:00
parent c91d2dc6d6
commit 6bbe6bac71
3 changed files with 54 additions and 12 deletions

View File

@ -257,22 +257,62 @@ def test_command():
# 创建响应处理器
handler = Command02()
# 原始测试数据
hex_string = "4A5801031767631136065701100019010909371501000000000000000000004D"
# 解析数据长度字段以确定正确的数据包长度
expected_len = 14 + 16 + 1 # 头部(14字节) + 数据域(16字节) + 校验码(1字节)
# 确保只取需要的字节
test_data = bytes.fromhex(hex_string[:expected_len * 2]) # *2是因为hex字符串中一个字节用两个字符表示
# 直接使用完整的测试数据,不进行裁剪
test_data = bytes.fromhex("4A5801031767631136065701100019010909371501000000000000000000004D")
print("\n测试数据:")
print(f"原始数据: {hex_string}")
print(f"处理后数据: {test_data.hex().upper()}")
print(f"数据内容: {test_data.hex().upper()}")
print(f"数据长度: {len(test_data)}字节")
# 打印详细字段解析
handler.debug_print_fields(test_data)
# 修改validate_frame方法来处理多余字节
def validate_frame(self, data):
"""验证帧格式"""
try:
print("\n开始验证帧格式:")
print(f"数据内容: {data.hex().upper()}")
print(f"数据长度: {len(data)}字节")
# 1. 基本格式检查
if len(data) < 14:
print("数据长度不足14字节")
return False
if data[0:2] != b'JX':
print("帧起始标志不是'JX'")
return False
# 2. 获取数据域长度
data_len = struct.unpack("<H", data[12:14])[0]
expected_total_len = 14 + data_len + 1 # 头部(14) + 数据域 + 校验码(1)
print(f"\n数据结构分析:")
print(f"起始标识: {data[0:2].hex().upper()}")
print(f"命令字: {data[2]:02X}")
print(f"桩号: {data[3:11].hex().upper()}")
print(f"加密方式: {data[11]:02X}")
print(f"数据长度: {data_len}")
print(f"数据域: {data[14:14 + data_len].hex().upper()}")
print(f"校验码: {data[-1]:02X}")
# 3. 校验码验证
check_data = data[2:-1] # 从命令字节开始到校验码之前
calculated_check = 0
for b in check_data:
calculated_check ^= b
if calculated_check != data[-1]:
print(f"校验码不匹配: 计算值={calculated_check:02X}, 接收值={data[-1]:02X}")
return False
print("校验通过")
return True
except Exception as e:
print(f"验证帧格式异常: {str(e)}")
return False
# 覆盖原方法
handler.validate_frame = validate_frame.__get__(handler)
# 创建模拟socket
class MockSocket:

View File

@ -6,3 +6,5 @@
2025-01-17 17:12:27,913 - ERROR - 代理服务器错误: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
2025-01-20 09:45:44,376 - INFO - 代理服务器已启动,监听地址: 0.0.0.0:52461
2025-01-20 10:43:46,823 - INFO - 代理服务器已启动,监听地址: 0.0.0.0:52461
2025-01-20 14:37:17,844 - INFO - 代理服务器已启动,监听地址: 0.0.0.0:52461
2025-01-20 16:13:14,958 - INFO - 代理服务器已启动,监听地址: 0.0.0.0:52461