int haveSend = 0;
int sn =0;
while(toSend > 0)
{
sn = SendTo(m_pSendBuff+haveSend, toSend>50000?50000:toSend, (SOCKADDR*)&m_clientAddr, sizeof(m_clientAddr));
if (sn > 0)
{
toSend -= sn;
haveSend+=sn;
}
else
{
break;
}
sprintf(a,"发送%d字节数据\n",sn);
OutputDebugString(a);
}
看调试信息,基本发送一次50000字节就要一秒。我没压缩的屏幕截图位图数据一张就8M,要发了一两分钟,才会跳出while循环。客户端才收到一张。
我知道视频都需要压缩,但是这个也太慢了一点啊!?照这个速度,即使50K一张的小图也要发个半秒一秒的。大神救我!如何做到一秒几十帧?
11 个解决方案
#1
异步发送试试。
#2
是局域网吗?
#3
能贴全代码看看吗
#4
用tcp发送8M数据也不至于1分钟啊。。。。。。。贴代码吧
#5
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少设置了一分。不好意思。帮忙看看。
#6
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。
#7
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。
#8
建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?
#9
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。
是局域网吗?
建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?
#10
你确定能发出去?缓冲区满了会返回失败吧?
#11
你确定能发出去?缓冲区满了会返回失败吧?
#1
异步发送试试。
#2
是局域网吗?
#3
能贴全代码看看吗
#4
用tcp发送8M数据也不至于1分钟啊。。。。。。。贴代码吧
#5
异步发送试试。
#6
是局域网吗?
#7
能贴全代码看看吗
#8
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。
是局域网吗?
建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?
#9
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。
是局域网吗?
建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?
#10
你确定能发出去?缓冲区满了会返回失败吧?
#11
你确定能发出去?缓冲区满了会返回失败吧?