传递给WSARecv()一个重叠的socket,然后调用WSAWaitForMultipleEvents(infinite)进行等待,如果一直没有数据传入的话,经过一段时间后,WSARecv()还是会把传递给他的overlapped.hEvent设为有信号的。我的问题就是如何设置经过的这段时间的长度?或者说是有没有办法把一个在后台执行的重叠操作取消掉?看了MSDN,上面说WSARecv在wsabuf填满或socket被关掉或内部缓冲区没有数据时才会返回,而且对于非锁定的socket,设置SO_RCVTIMEO是没有效果的。
解决方案 »
- 如何在一个多文档多视图的程序中,在一个视图中通过按钮打开另一个视图呢??
- Imagelist风格//ILC_MASK一点作用没有吧???
- VC操作Bitmap图像后的保存修改结果
- MFC基础类中CArray系列中都有两个[]操作符重载成员函数,请问它们有什么区别??
- 如何从DLL中导出对话框?
- 请问:用AppWizard为一个新加的dialog资源生成一个类时出现问题!
- 求助:想要在单文档中添加一个类似vb中属性编辑器的东东,应改怎么做?在线等。。。
- 用win32的api或direct music的问题!做mid 的格式 音效的播放!高分!!
- 请问各位有没有最新的视频捕获库vfw32.lib,如何把视频格式显示窗口里只有一个格式RGB24呢?
- 程序最小化到任务栏时,闪烁
- 怎样令字显示在背景图上,而仍可以看到背景图?
- 急问:关于SOCKET通讯的一个原理问题
如果是这样的话那目前问题是解决了。但我仍想知道有没有方法可以控制WSARecv()针对无数据流入的等待时间?在重叠模式下
比如你发EHLO时,服务器会返回它所支持的ESMTP扩展字,每个扩展字都是以\r\n分隔的。