gpt4 book ai didi

python - 套接字带外数据未作为 OOB 接收

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:34 24 4
gpt4 key购买 nike

我有一个 C 程序,可以将一些数据发送到远程机器上的 python 服务器。 C 代码连接套接字,然后发送带外消息和一些数据:

int on = 1;
fd = socket(PF_INET, SOCK_STREAM, 0);
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(int))
...
send(fd, msg, msg_size, MSG_OOB);
write(fd, data, data_size);

在服务器上,python 代码接受连接,然后读取 OOB 消息,然后读取数据:

self.socket = socket.socket(socket.PF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket_SOL_SOCKET, socket_SO_REUSEADDR, 1)
self.socket.bind(self.server_addr)
self.socket.listen(self.request_queue_size)
...
...
msg = csock.recv(msg_size, socket.MSG_OOB)
...

没有数据被接收到 msg,但是,如果我只是调用

msg = csock.recv(msg_size)

然后我得到数据。

我做错了什么?

最佳答案

已解决。我在 C 代码中发现了一个微妙的错误,它导致了一些数据损坏,导致了一些有趣的效果。所以我认为两端的套接字代码似乎是合理的。

关于python - 套接字带外数据未作为 OOB 接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17410414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com