为什么不会相应OnConnect(int nErrorCode)函数

宁鸿宝 2010-04-02 05:50:26
我的服务器端和客户端都是用的CAsyncSocket的派生类写的,在客户端实现绑定端口和IP。并监听,但是我在客户端中连接服务器的时候,调用MySocket.Connect(ip,port);后服务器端的OnAccept(int nErrorCode)函数有相应,但是客户端的OnConnect(int nErrorCode)怎么就没有相应呢~~~~
...全文
324 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
宁鸿宝 2010-05-06
  • 打赏
  • 举报
回复
我试了,如果在客户端的初始化的时候连接服务器,那么OnConnect有响应,然而在程序中间连接服务器就没有相应了,我就感觉奇怪了~~ 那么有遇到这种问题的吗?
coolwuya 2010-05-05
  • 打赏
  • 举报
回复
如果Server端执行到了AfxBeginThread这一步,那客户端没有理由不触发OnConnect()
要相信不会又那么多用科学道理解释不了的问题的。看看是否是OnConnect重载的问题
宁鸿宝 2010-05-05
  • 打赏
  • 举报
回复
void CServerSocket::OnAccept(int nErrorCode)
{
// TODO: 在此添加专用代码和/或调用基类
if (nErrorCode !=0)
{
TRACE("连接错误,错误代码为%d!\n",nErrorCode);
return;
}
TRACE("有客户端连接\n");
CAsyncSocket *sockit=new CAsyncSocket;
if (!Accept(*sockit))
{
return;
}
CServerThread* pThread = (CServerThread*)AfxBeginThread(RUNTIME_CLASS(CServerThread), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
if(!pThread)
{
sockit->Close();
return;
}
m_pSaveWnd->m_CriticalSection.Lock();
m_pSaveWnd->m_ThreadList.AddTail(pThread);
m_pSaveWnd->m_CriticalSection.Unlock();
pThread->m_hSocket = sockit->Detach();
pThread->SetSaveWnd(m_pSaveWnd);
// Now start the thread.
pThread->ResumeThread();
CAsyncSocket::OnAccept(nErrorCode);
}
尹成 2010-04-26
  • 打赏
  • 举报
回复
你客户端connect成功以后,函数应该就返回了啊?难得卡在那里呢???服务器端accept成功返回???还有这种问题?
算了,lz你直接贴代码比较实际一些
Un1 2010-04-26
  • 打赏
  • 举报
回复
你在onaccept里调用accept了吗?
lijianli9 2010-04-07
  • 打赏
  • 举报
回复
不太理解,
Eleven 2010-04-07
  • 打赏
  • 举报
回复
你客户端connect成功以后,函数应该就返回了啊?难得卡在那里呢???服务器端accept成功返回???还有这种问题?
算了,lz你直接贴代码比较实际一些。。。
宁鸿宝 2010-04-07
  • 打赏
  • 举报
回复
这个问题这么难吗 ?? 没人解决,CSDN的大牛呢~~~
宁鸿宝 2010-04-06
  • 打赏
  • 举报
回复
谢谢2楼提醒 写错了 不好意思的
jovia 2010-04-03
  • 打赏
  • 举报
回复
在客户端实现绑定端口和IP。并监听,但是我在客。。。。

这里有问题!

绑定和监听应该在服务器端呀,客户端不需要的

18,356

社区成员

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

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