VC写一个截图UDP广播小程序,UDP广播不是说很块吗?为什么我的这么慢?

时间:2021-02-24 15:23:56
vc c c++
VC广播,非组播。项目不知道怎么发出来,截一段吧。
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


引用 1 楼 d741963250 的回复:
异步发送试试。
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少设置了一分。不好意思。帮忙看看。

#6


引用 2 楼 cfjtaishan 的回复:
是局域网吗?
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

#7


引用 3 楼 zhouqunhai 的回复:
能贴全代码看看吗
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

#8


引用 6 楼 TheDaXiang 的回复:
Quote: 引用 2 楼 cfjtaishan 的回复:

是局域网吗?
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?

#9


引用 8 楼 cfjtaishan 的回复:
Quote: 引用 6 楼 TheDaXiang 的回复:

Quote: 引用 2 楼 cfjtaishan 的回复:

是局域网吗?
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?
不知道哪里有问题,都不知道贴哪里。已改百度云,当时没想到。https://pan.baidu.com/s/13D_A3eAzi1n7XGIGLLNggw

#10


你确定能发出去?缓冲区满了会返回失败吧?

#11


引用 10 楼 yiyefangzhou24 的回复:
你确定能发出去?缓冲区满了会返回失败吧?
确定能发送,已经实现接收现实。就是慢了点。

#1


异步发送试试。

#2


是局域网吗?

#3


能贴全代码看看吗

#4


用tcp发送8M数据也不至于1分钟啊。。。。。。。贴代码吧

#5


引用 1 楼 d741963250 的回复:
异步发送试试。
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少设置了一分。不好意思。帮忙看看。

#6


引用 2 楼 cfjtaishan 的回复:
是局域网吗?
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

#7


引用 3 楼 zhouqunhai 的回复:
能贴全代码看看吗
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

#8


引用 6 楼 TheDaXiang 的回复:
Quote: 引用 2 楼 cfjtaishan 的回复:

是局域网吗?
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?

#9


引用 8 楼 cfjtaishan 的回复:
Quote: 引用 6 楼 TheDaXiang 的回复:

Quote: 引用 2 楼 cfjtaishan 的回复:

是局域网吗?
https://download.csdn.net/download/thedaxiang/10422229我的项目上传了,最少必须设置了一分。不好意思。帮忙看看。

建议贴出代码,或者至少是关键性(与问题相关的)代码。给你解决问题还要花费这个吗?
不知道哪里有问题,都不知道贴哪里。已改百度云,当时没想到。https://pan.baidu.com/s/13D_A3eAzi1n7XGIGLLNggw

#10


你确定能发出去?缓冲区满了会返回失败吧?

#11


引用 10 楼 yiyefangzhou24 的回复:
你确定能发出去?缓冲区满了会返回失败吧?
确定能发送,已经实现接收现实。就是慢了点。