这更像是一个确认请求而不是一个问题,所以我会保持简短。(我远离我的电脑,所以不能简单地实施这个解决方案来测试)。
我正在编写一个程序,将通过网络摄像头拍摄的图像文件(连同元数据)从树莓派发送到我的电脑。
我计算出图像大约是 130kb,数据包头是 12b,相关的元数据是另一个 24b。尽管将来我可能会增加图像大小,但一旦我有了工作原型。
目前,我无法成功检索整个数据包,因为在将其发送到 PC 后,我只能在缓冲区中获得大约 64kb 的接收数据。
我假设这是因为无论出于何种原因,套接字的默认缓冲区大小声明如下:
SOCKET sock = socket(PF_INET, SOCK_STREAM, 0);
是 64kb(如果您“知情”,请有人澄清一下)
所以 - 为了解决这个问题,我打算通过 setsockopt(x..) 命令将套接字大小增加到 1024kb。
请有人确认我对问题的诊断和建议的解决方案是正确的吗?
我问这个问题是因为我现在不在我的电脑上,在我回家之前无法尝试。