CAsyncSocket 的 OnReceive 始终不触发?谁知道怎么解决?

zy422 2007-06-29 07:56:53
CAsyncSocket 的 OnReceive 始终不触发?谁知道怎么解决?
该继承的都继承了,该覆盖的都覆盖了,该实现的都实现了

BOOL bFlag=CAsyncSocket::Create(0,SOCK_STREAM,FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE,0 );
if(!AsyncSelect(FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE))

都执行了没问题

发送数据也正常,
但 OnReceive OnConnect 都没被触发








...全文
447 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kendan 2007-07-02
  • 打赏
  • 举报
回复
因为它必须在框架里才能触发,你可以用SendMessage(...)试试
CathySun118 2007-06-30
  • 打赏
  • 举报
回复
楼上说的对,你把端口设置一个固定的试试
mynamelj 2007-06-30
  • 打赏
  • 举报
回复
//第一个参数填0系统将自动分配一个可用端口,作为服务端话可能有些问题。也就是这个端口是你未知的,客户连接过来必须要知道这个端口。
BOOL bFlag=CAsyncSocket::Create(0,SOCK_STREAM,FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE,0 );

//下面一句是多余的,因为CAsyncSocket::Create中已经创建了异步先择事件。
if(!AsyncSelect(FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE))
zlj617 2007-06-30
  • 打赏
  • 举报
回复
用CSocket的OnReceive看下呢
abomber2 2007-06-30
  • 打赏
  • 举报
回复
你是不是 在控制台下?

要有消息丢列才可以 你要建立一个消息丢列

18,356

社区成员

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

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