socket TCP协议接收大文件时recv的buffer设置多少合适
答案:2 悬赏:0 手机版
解决时间 2021-03-17 17:58
- 提问者网友:练爱
- 2021-03-17 11:15
socket TCP协议接收大文件时recv的buffer设置多少合适
最佳答案
- 五星知识达人网友:玩家
- 2021-03-17 11:46
一般64k足矣。tcp有流量控制,不会出现缓冲区溢出的问题
全部回答
- 1楼网友:醉吻情书
- 2021-03-17 12:31
代码如下:
char buf[4096]; // or whatever
std::deque data;
for (int res ; ; )
{
res = recv(fd, buf, sizeof buf, msg_dontwait);
if (res == -1)
{
if (errno == eagain || errno == ewouldblock)
{
break; // done reading
}
else
{
// error, break, die
}
}
if (res == 0)
{
// socket closed, finalise, break
}
else
{
data.insert(data.end(), buf, buf + res);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯