用CSocket重写OnReceive()函数时,出现收不到的情况 js 函数重写

用CSocket重写OnReceive()函数时,出现收不到的情况 js 函数重写

void CChatSocket::OnReceive( int nErrorCode)
{
m_pDoc->ProcessPendingRead();
CSocket::OnReceive(nErrorCode);
}

前几天用CSocket + CSocketFile写了一个聊天程序,经常发现客户端明明发送了消息,但是服务器端OnReceive函数就是不响应,上网搜索找到了答案,在处理完以后加上AsyncSelect(FD_READ);即上面的程序变为

void CChatSocket::OnReceive( int nErrorCode)
{
m_pDoc->ProcessPendingRead();
AsyncSelect(FD_READ);//提请一个“读”的网络事件
CSocket::OnReceive(nErrorCode);
}

编程中遇到这个问题,发现很多人都遇到过这个问题。

症状如下:Socket连接后只能发送一次消息,发送第二次消息的时候,另一方就接收不到;

原因是:没有让Socket改变响应事件的发式

解决方法:在OnReceive()中,Receive()后调用AsyncSelect(FD_READ);

  

爱华网本文地址 » http://www.aihuau.com/a/25101017/358697.html

更多阅读

QQ视频聊天的时候,对方听不到声音 qq通话对方听不到声音

QQ视频聊天的时候,对方听不到我的声音,该如何解决呢?1、检查聊天的时候网络信号有几个,如果小于2个,基本上声音就有问题的;2、重新装一下主板的声卡驱动,这样软件比较稳定。3、到“控制面板”检查一下你的“声音,语音音频设备”4、你一

excel出现找不到macro1!$A$2怎么解决 excel找不到macro1

excel出现找不到macro1!$A$2怎么解决——简介excel出现找不到macro1!$A$2这种问题基本上是中了宏病毒的后遗症。一般用宏病毒专杀工具查杀了宏病毒后,就会出现“文件错误”“找不到macro1!$A$2”等这些问题。下面来看怎么解决及操作

Win7宽带连接时,出现错误代码651? 联通宽带错误代码651

Win7宽带连接时,出现错误代码651?——简介错误代码651报错信息: 您的调制解调器(或其它连接设备)报告了一个错误。既未找到指定的端口。看到用户反映自己电脑装了xp系统能拨号,但是装了win7系统后拨号出现651错误,装回xp系统又可行。对

声明:《用CSocket重写OnReceive()函数时,出现收不到的情况 js 函数重写》为网友坚信自已分享!如侵犯到您的合法权益请联系我们删除