Python 2.7 python套接字客户端不发送任何内容
我正在尝试通过HTTP套接字进行集成。我正在使用python创建套接字客户端,并将数据发送到用C创建的套接字服务器 如下图所示,集成文档给出了一个C语言示例,说明了我必须如何将数据发送到服务器: 集成文档示例: 1- 2- 3- 4- 我尝试使用python中的ctypes模块来实现这一点:Python 2.7 python套接字客户端不发送任何内容,python-2.7,sockets,Python 2.7,Sockets,我正在尝试通过HTTP套接字进行集成。我正在使用python创建套接字客户端,并将数据发送到用C创建的套接字服务器 如下图所示,集成文档给出了一个C语言示例,说明了我必须如何将数据发送到服务器: 集成文档示例: 1- 2- 3- 4- 我尝试使用python中的ctypes模块来实现这一点: class SPMSifHdr(ctypes.Structure): _fields_ = [ ('ui32Synch1', ctypes.c_uint32), ('
class SPMSifHdr(ctypes.Structure):
_fields_ = [
('ui32Synch1', ctypes.c_uint32),
('ui32Synch2', ctypes.c_uint32),
('ui16Version', ctypes.c_uint16),
('ui32Cmd', ctypes.c_uint32),
('ui32BodySize', ctypes.c_uint32)
]
class SPMSifRegisterMsg(ctypes.Structure):
_fields_ = [
('hdr1', SPMSifHdr),
('szLisence', ctypes.c_char*20),
('szApplName', ctypes.c_char*20),
('nRet', ctypes.c_int)
]
body_len = ctypes.sizeof(SPMSifRegisterMsg)
header = SPMSifHdr(ui32Synch1=0x55555555, ui32Synch2=0xaaaaaaaa, ui16Version=1, ui32Cmd=1, ui32BodySize=body_len)
body = SPMSifRegisterMsg(hdr1=header, szLisence='12345', szApplName='MyPmsTest', nRet=1)
socket_connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# config is a dict with the socket server connection params
socket_connection.connect((config.get('ip'), int(config.get('port'))))
socket_connection.sendall(bytearray(body))
socket_connection.recv(1024)
当我调用socket recv函数时,它从未收到任何信息,因此我使用windows工具检查我发送的数据,如下图所示,似乎发送了任何数据:
我甚至尝试发送一个简单的“Hello!world”字符串,结果总是一样的
插座连接已打开。我知道这一点,因为我可以从服务器面板上看到打开了多少连接
我做错了什么?错误在于,只有在服务器返回响应时,SocketSniff程序才会显示发送的数据。在这种情况下,服务器从不返回任何内容,因为缺少一些字节 我发现它创建了我自己的socketecho服务器,并检查我发送的数据是否不完整
谜团解开了D错误在于,如果服务器返回响应,SocketSniff程序仅显示发送的数据。在这种情况下,服务器从不返回任何内容,因为缺少一些字节 我发现它创建了我自己的socketecho服务器,并检查我发送的数据是否不完整 谜团解开了D