关于OnAccept不能触发

lostgdi731 2003-12-18 11:54:17
MSDN:Called by the framework to notify a listening socket that it can accept pending connection requests by calling the Accept member function.

我的翻译:OnAccept函数是由系统通过消息通知已有一个在listen的socket能通过accept函数通过connect连接所调用的.

那么我在客户端(对话筐程序)里能通过Server的连接并能发送消息到server,但却不能激发这个函数(通过Classwizzard)创建的OnAccept函数.请问大虾有什么情况可能会这样?


...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fairyprince 2003-12-19
  • 打赏
  • 举报
回复
OnAccept 只有服务器才能产生
fairyprince 2003-12-19
  • 打赏
  • 举报
回复
我说 OnAccept 是服务端的
OnConnect 才是客户端的
去看MSDN 吧
lostgdi731 2003-12-19
  • 打赏
  • 举报
回复
热心的大虾请帮帮忙。
lostgdi731 2003-12-18
  • 打赏
  • 举报
回复
顺便问一下,我上边的翻译对吗?
to awnucel:
不好意思,我之前说得不够清楚。
Server和Client之间是能建立连接的。(可以发送数据)
是这样的:我通过自己继承了CSocket的 MySocket,接着在dialog(客户端里的)里
MySocket *client=new MySocket();
client->Create();
client->connect(...........);
client->send();

而MySocket里的OnAccept是通过Classwizzard建立的有("V")的。
OnAccept里有个AfxMessageBox("onaccept");

我本以为如果 客户端 connect成功后(通过了服务端的accept函数)会激发OnAccept的。
但当服务端接收了客户端发来的数据(并显示后)就了时了,换句话说客户的OnAccept就是没被激发。
nava 2003-12-18
  • 打赏
  • 举报
回复
同意楼上
曾经的猎狐 2003-12-18
  • 打赏
  • 举报
回复
你也没说清楚你用在什么情况下
1,如果是消息WSAAsnySelect(xxxxxx,xx,WM_USER+100,FD_ACCEPT)
用ON_MESSAGE(WM_USER+100,OnAccept)

2.如果直接做的,listen之后,就启动一条线程OnAccept
然后在里面while(1)
{
accept
}

18,356

社区成员

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

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