Qt用Tcp/ip通讯时,缓冲区只有8K,怎么样才能设置更大 100
Qt用Tcp/ip通讯时,缓冲区只有8K,怎么样才能设置更大?比如我要发送一个160K数据的文件,不分包怎么弄。...
Qt用Tcp/ip通讯时,缓冲区只有8K,怎么样才能设置更大?比如我要发送一个160K数据的文件,不分包怎么弄。
展开
2个回答
展开全部
1。设置发送缓冲
int send_len = 16 * 1024;
if( setsockopt( fd, SOL_SOCKET, SO_SNDBUF, (void
*)&send_len, sizeof(send_len) ) < 0 ){
return -1;
}
2. 发送160K数据
如果是使用tcp,则无需关注分片和大小,顺序发即可;比如每次发送一个字节,或者每次发送1K都可以。
如果是使用udp,必须分包,需在接收端自行缓冲+合并
int send_len = 16 * 1024;
if( setsockopt( fd, SOL_SOCKET, SO_SNDBUF, (void
*)&send_len, sizeof(send_len) ) < 0 ){
return -1;
}
2. 发送160K数据
如果是使用tcp,则无需关注分片和大小,顺序发即可;比如每次发送一个字节,或者每次发送1K都可以。
如果是使用udp,必须分包,需在接收端自行缓冲+合并
追问
Qt中能用这个函数么?
追答
只要是C语言就可以
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询