CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

用UDP传输怎么会只收到了一次数据?

楼主Jinemmy2005()2005-05-31 20:34:18 在 VC/MFC / 网络编程 提问

在服务器端用WSASelect提名FD_READ事件(接受到数据时产生消息)  
   
  在客户端不停的send   数据    
   
  在服务器端照理说应该不断有FD_READ消息生成啊     为什么只生成了一个FD_READ消息呢?  
   
  问题点数:60、回复次数:3Top

1 楼krh2001(边城浪子)回复于 2005-05-31 20:38:24 得分 60

因为你只调用了一次啊,你必需接收完成之后,   再调用一次,这样才会产生下一次   OnReceive   消息:  
   
  void   CSvrSocket::OnReceive(...)  
  {  
        int   i   =   Receive(...);  
        .....  
        .....  
   
        WSASelect(FD_READ);     //   准备接收下一个数据  
  }Top

2 楼Jinemmy2005()回复于 2005-05-31 21:03:11 得分 0

我改成这样了  
  void   CSvrSocket::OnReceive(...)  
  {  
        MessageBox("Receving");  
      //我没有用receive函数  
        .....  
        .....  
   
        WSASelect(FD_READ);     //   准备接收下一个数据  
  }  
   
  结果是不停弹出窗口   "Receiving"  
  Top

3 楼krh2001(边城浪子)回复于 2005-05-31 21:13:37 得分 0

你不去调用接收函数,缓冲区内始终有数据.当然会不断地有消息过来....   晕死Top

相关问题

  • (奇怪)UDP传输中,收到的包的数据与发送时的不一样?在不同的ADSL线路下结果会不一样
  • 100分求源代码及讲解:UDP数据传输
  • [奇怪问题]UDP数据传输出怪码[奇怪问题]
  • 求助:用C++编写基于UDP的数据传输程序
  • 网络游戏中数据传输用TCP好还是UDP?
  • 一个开源UDP数据传输库,欢迎使用
  • udp传输大块数据的问题,无法接受全部数据。
  • udp传输大块数据的问题,无法接受全部数据。
  • UDP怎么知道何时收到数据?
  • 怎样使用tcp或udp协议传输文件?数据包如何生成?

关键词

  • 数据
  • 消息
  • wsaselect
  • 调用
  • 接收
  • onreceive
  • fd
  • receiving
  • read

得分解答快速导航

  • 帖主:Jinemmy2005
  • krh2001

相关链接

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

广告也精彩

反馈

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