请教:为什么OnReceive(int nErrorCode)不能触发?

banjo 2004-03-22 04:28:56
我已经设置了AsyncSelect(FD_READ | FD_CLOSE);
但是每次总是进入OnSend(int nErrorCode) ,为什么?
...全文
120 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasychina 2004-05-11
  • 打赏
  • 举报
回复
我也遇到过这个问题,可能是Receive(lpBuf,nLength) 的缓冲区lpBuf的问题
hachongzi 2004-05-11
  • 打赏
  • 举报
回复
先启动服务器线程了吗
门吹西风 2004-05-11
  • 打赏
  • 举报
回复
把代码帖出来看看就知道了.:-)
banjo 2004-05-10
  • 打赏
  • 举报
回复
自己再up一次
banjo 2004-04-20
  • 打赏
  • 举报
回复
是啊,我是在那个线程内调用的
xstring 2004-04-15
  • 打赏
  • 举报
回复
确保Accept和AsyncSelect都是在创建服务端socket的线程内调用

否则会失败的。
banjo 2004-04-15
  • 打赏
  • 举报
回复
现在我还是没有解决啊
有高手没有
nuaawenlin 2004-03-23
  • 打赏
  • 举报
回复


用CSocket类,这个问题我也没有解决

用SOCKET到可以
banjo 2004-03-23
  • 打赏
  • 举报
回复
不是的
有别人遇到过这种问题吗?
worldcup 2004-03-23
  • 打赏
  • 举报
回复
对于FD_READ,你只要注册了,当有数据来时系统就会响应OnReceive()了
banjo 2004-03-22
  • 打赏
  • 举报
回复
我测试了一下,
现象上看好像时AsyncSelect(FD_READ | FD_CLOSE);没有起作用
这个socket是accept过来的
banjo 2004-03-22
  • 打赏
  • 举报
回复
服务器对每个客户端的连接都分配了一个线程和socket来
那个socket,按照设定应该是收数据,但每次都是先到onsend,而且在onsend里面使用AsyncSelect(FD_READ)也无法跳到onreceive里面
,有没有高手告诉我为什么?
winter_sui 2004-03-22
  • 打赏
  • 举报
回复
没听明白。
作为客户端,能receive的前提是已经connect了。
作为服务器端,能receive的前提是已经listen,并且accept了。

18,356

社区成员

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

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