gpt4 book ai didi

c++ - 套接字发送数据但 recv 程序不能正常工作

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

我创建了 2 个程序,一个用于发送数据,另一个用于接收数据。所以,

接收数据的部分是:

while ((recvMsgSize = sock->recv(echoBuffer, RCVBUFSIZE))>0) {
write(fileno(stdout), echoBuffer, recvMsgSize);
}

如果我用它来接收大文件数据,它工作得很好,数据量小时就不行了。我知道问题出在 recv 部分,因为如果我使用 netcat 来接收数据,它运行良好,它会接收整个数据。有没有其他方式接收数据?

谢谢

最佳答案

我猜你的套接字正在阻塞并且 recv 正在等待发送 RCVBUFSIZE 字节。您应该首先发送要发送的文件的大小,然后计算您收到了多少数据,并且仅在您丢失的数据少于 RCVBUFSIZE 字节时才请求剩余部分。

关于c++ - 套接字发送数据但 recv 程序不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671756/

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