udp, 一些问题, 人人有分

zhp21 2007-05-08 11:33:43
1.udp, 是不是没必要用select,直接 recvfrom, 然后根据发送IP 地址丢到各个IP的数据缓冲, 一样高效果?
2. 多个发送数据源发送大量数据的情况下, 会因为接受处理不过来IO会丢数据吗?
3. cone NAT 和一个对等的 怎么穿透?
...全文
357 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile0403 2007-06-30
  • 打赏
  • 举报
回复
f(sendto(socketHandle, data, dataSize, 0, (LPSOCKADDR)&sin, sizeof(SOCKADDR)) < 0)
return WSAGetLastError();

if(recvfrom(socketHandle, data, maxSize, 0, (LPSOCKADDR)&sin, &fromSize) < 0)
return WSAGetLastError();
可以不用select
firera 2007-06-30
  • 打赏
  • 举报
回复
1.阻塞,一直recvfrom都可以,当然可以不用select
2.开个接收线程,把数据放到接收队列,-->再开个数据处理线程,处理这个队列
mynamelj 2007-06-30
  • 打赏
  • 举报
回复
处理不过来就缓冲嘛,比喻放到队列中去。
AhJo 2007-06-30
  • 打赏
  • 举报
回复
顶2楼
ReverseEngineering 2007-06-29
  • 打赏
  • 举报
回复
mark
mimong_lin 2007-05-09
  • 打赏
  • 举报
回复
2楼,对头。
Tmac_fkq 2007-05-09
  • 打赏
  • 举报
回复
up
CathySun118 2007-05-09
  • 打赏
  • 举报
回复
看原理吧
http://searchnetworking.techtarget.com.cn/tips/333/2145333.shtml
ideawu 2007-05-09
  • 打赏
  • 举报
回复
1. 没必要使用select.
2. 如果你的应用程序没有及时接收数据, 或者数据量超过了网卡的负荷, 就会丢包.
3. 这个过程可以看网上的一些文章, http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
长尾巴的悟空 2007-05-09
  • 打赏
  • 举报
回复
我不清楚,我只想要分.

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧