C和Python程序之间的通信问题
我试图在C程序和python程序之间实现UDP通信协议。C程序的结构是通过UDP端口tx_端口作为二进制数据发送。该程序还会在另一个端口rx_端口上侦听任何接收到的数据,然后将接收到的二进制输出打印到屏幕上 python程序监听tx_端口,解压缩接收到的数据并将其打印到屏幕上。然后它重新打包数据,并通过UDP端口rx_端口将其发送回 下面是我使用的C和Python程序 C程序 包括 包括 包括 包括 包括 包括 包括 定义BUFLEN 4096 定义RX_端口8888 定义TX_端口8889 //结构数据 结构数据{ 长帧_数; 双倍时间; }tx_数据、rx_数据; int dlen=大小FTX_数据; 结构sockaddr_在si_me中,si_other; int tx_soc; int slen=sizeofsi_其他; 国际记录; char*buf; pthread_t rx_线程; 无效*接收器螺纹无效*参数 { int i=0; 而1{ recv_len=recvfromtx_soc,buf,sizeofrx_data,0,struct sockaddr*&si_other,&slen; printf\n收到的数据:%d\n,recv\u len; 对于i=0;iC和Python程序之间的通信问题,python,c,sockets,python-2.7,udp,Python,C,Sockets,Python 2.7,Udp,我试图在C程序和python程序之间实现UDP通信协议。C程序的结构是通过UDP端口tx_端口作为二进制数据发送。该程序还会在另一个端口rx_端口上侦听任何接收到的数据,然后将接收到的二进制输出打印到屏幕上 python程序监听tx_端口,解压缩接收到的数据并将其打印到屏幕上。然后它重新打包数据,并通过UDP端口rx_端口将其发送回 下面是我使用的C和Python程序 C程序 包括 包括 包括 包括 包括 包括 包括 定义BUFLEN 4096 定义RX_端口8888 定义TX_端口8889 /
我可能犯了什么错误?在我的机器上,16字节的C结构和Python结构都是。尝试移动buf=char*mallocsizeofrx_数据;在主线程中的while循环外部到接收线程。@J.F.Sebastian谢谢。这就是问题所在。我真不敢相信我把那个malloc放进了循环里。我已经改变了它,它工作得很好。