CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

小女子有个弱弱的问题要请教各位网络高手

楼主kange2001()2005-05-02 00:25:45 在 VC/MFC / 网络编程 提问

UDP组播程序设置了WSAAsyncSelect函数,在本地主机运行后第一次可以接收FD_WRITE,发送数据时也可以接收FD_READ,但是以后发送数据时本地主机就不能接收这些信息了。可是同时在别的机子上倒是可以接收FD_READ消息然后读取数据。是不是和本地socket的缓冲区有关?望请各位高手指点迷津。 问题点数:20、回复次数:12Top

1 楼kange2001()回复于 2005-05-02 00:43:17 得分 0

就是这个问题,呵呵,用的是同一个代码啊http://search.csdn.net/Expert/topic/2502/2502480.xml?temp=.7334406Top

2 楼krh2001(边城浪子)回复于 2005-05-02 01:15:38 得分 3

每次接收完成后都  
    WSAAsyncSelect(FD_READ);Top

3 楼nuaawenlin(飘人)回复于 2005-05-02 09:20:44 得分 3

其实问题出现在  
   
  如果此次的数据到达时,你没有投递recv,那么消息就被阻塞了,直到你投递recv为止  
   
  如果数据交换频繁的话,WSAAsyncSelect模型就不适合了Top

4 楼kange2001()回复于 2005-05-02 23:34:43 得分 0

krh2001(边城浪子)   :我试过了,在接收完后用WSAAsyncSelect(FD_READ|FD_WRITE);是不发FD_READ消息的,但发送的是FD_WRITE消息,说明缓冲区有空闲。可问题仍然存在啊!不过这种方法讨巧,符合我的风格,呵呵!  
  nuaawenlin(飘人)   :如果用WSAAsyncSelect不就是设置套接字为非阻塞吗?不才问一句,WSAAsyncSelect不合适的话,那是不是用WSAEventSelect?Top

5 楼kange2001()回复于 2005-05-02 23:37:30 得分 0

两位好心人,我给你们留言了哦!希望你们看得到~~Top

6 楼krh2001(边城浪子)回复于 2005-05-02 23:44:39 得分 3

我看到了.   我偶尔也会用一下   ,不过也没有发现过这样的问题.    
  在大多数时候我都会使用   SOCKET   API   +   线程   来处理.   我个人感觉无论是性能,   兼容性,都比   WIN   SOCKET   要好,   SELECT   模型也是非常灵活的..   呵呵Top

7 楼SmallBigCat(乱花渐欲迷人眼)回复于 2005-05-05 23:11:49 得分 3

在发送、接收失败(返回SOCKET_ERROR)后需要调用WSAAsyncSelect(...)一次;Top

8 楼kange2001()回复于 2005-05-07 12:58:25 得分 0

问题是发送接收都是成功的,我用WSAGetLastError()查过。Top

9 楼krh2001(边城浪子)回复于 2005-05-07 13:07:52 得分 4

成功了也要再次  
   
  WSAAsyncSelect(FD_READ);Top

10 楼nuaawenlin(飘人)回复于 2005-05-07 15:50:19 得分 4

再次投递  
  不过还是建议使用多线程Top

11 楼kange2001()回复于 2005-05-08 21:30:35 得分 0

呵呵,感谢各位出谋划策,不过最终问题不在这哦!只要将源程序中WSARecvFrom的源地址换成一个空地址,而不是组播地址就可以了。源程序另外一个问题就是将WSAJoinLeaf中后面第五个参数设为NULL,因为据说目前windows平台没有支持的。希望我这个帖能够给以后调试这个程序的同僚们有点帮助。这个程序是《Visual   C++网络通信编程实用案例精选》中broadcast的源程序,网上可以下载。另外《windows网络编程》(求是科技的,黄超编著)中也用到了这个源代码,错误是一样的。Top

12 楼bochs()回复于 2005-05-09 00:10:19 得分 0

我的EMAIL:taijils@yahoo.com.cn  
  联系我吧。Top

相关问题

  • 小女子菜,请各位高手帮一下小女子我!!!!
  • 小女子请教各位高手
  • 请各位帮小女子看一下这段代码
  • 各位大虾救救小女子:MMI的问题
  • 小女子不懂啦,请各位大虾帮帮吧。
  • 小女子不懂啦,请各位大虾帮帮忙吧。
  • 各位大虾哥哥,救救小女子!
  • 关闭excel进程,小女子急啊,各位帮忙
  • 各位高手:帮帮忙,小女子有礼了!
  • 各位高手.小女子有问一求.

关键词

  • 数据
  • 消息
  • 网络
  • socket
  • wsaasyncselect
  • 接收
  • 源程序
  • fd
  • 问题
  • 发送

得分解答快速导航

  • 帖主:kange2001
  • krh2001
  • nuaawenlin
  • krh2001
  • SmallBigCat
  • krh2001
  • nuaawenlin

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo