关于CSocket的OnReceive不能被响应问题。 我用ClassWizzard建立并重载了OnReceive函数,为什么当客户端Send来的时候 Receive就可以,而OnReceive不响应?请有经验的朋友指教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 由ClassWizzard生成MySocket类(基类为CSocket)。在MySocket.h文件里我没任何改写:在MySocket.cpp文件里由我改写的代码:MySocket::MySocket(){ CMyApp *pApp=(CMyApp*)AfxGetApp(); CMyDlg *pDlg=(CMyDlg*)pApp->m_pMainWnd; pDlg->m_StreamState = 1; pDlg->m_ack = false;}void MySocket::OnReceive(int nErrorCode) { CMyApp *pApp=(CMyApp*)AfxGetApp(); CMyDlg *pDlg=(CMyDlg*)pApp->m_pMainWnd; char ackbuf[3]; memset(ackbuf,'\0',3); switch(pDlg->m_StreamState) { case 1: break; case 2: Receive(ackbuf,3); if(strcmp(ackbuf,"ok")==0) { pDlg->m_ack = true; } break; default: break; } CSocket::OnReceive(nErrorCode);} 还有,我是在线程函数里创建Socket的,代码如下。这样一来,我的线程怎么才能收到系统通知(远方有数据到达)呢?MySocket* ClientSocket=new MySocket;各位大虾,我问的问题也不多,分对我来说没什么意义,如果谁解决了这个问题,我再加200分。 CSocket需要和某个窗口关联的,这样才能接收消息 那么我有没有办法在线程函数的基础上有什么办法使得到这个FD_Read消息? 求助~时间日期选取器默认时间变成了1970-01-01 VFW 捕捉两个usb免驱动的摄像头 学习哪种语言的困惑 请问怎样发布VC2005开发的程序 在线等待,关于Serialize的问题。 我把ON_COMMAND(ID_XXXX)加在XXXXapp.cpp中菜单项就有效(变黑)... 读取表中内容的问题! 如何从一个EXE文件中挖出其中的ICON? 今天特高兴,心情特好,大家一起高兴,散分! 怎样做到双击后打开一个文件? 如何用文件系统实现类似数据库的功能? 关于EnumDisplayDevices函数
在MySocket.h文件里我没任何改写:
在MySocket.cpp文件里由我改写的代码:
MySocket::MySocket()
{
CMyApp *pApp=(CMyApp*)AfxGetApp();
CMyDlg *pDlg=(CMyDlg*)pApp->m_pMainWnd;
pDlg->m_StreamState = 1;
pDlg->m_ack = false;
}
void MySocket::OnReceive(int nErrorCode)
{
CMyApp *pApp=(CMyApp*)AfxGetApp();
CMyDlg *pDlg=(CMyDlg*)pApp->m_pMainWnd;
char ackbuf[3];
memset(ackbuf,'\0',3);
switch(pDlg->m_StreamState)
{
case 1:
break;
case 2:
Receive(ackbuf,3);
if(strcmp(ackbuf,"ok")==0)
{
pDlg->m_ack = true;
}
break;
default:
break;
}
CSocket::OnReceive(nErrorCode);
}
这样一来,我的线程怎么才能收到系统通知(远方有数据到达)呢?
MySocket* ClientSocket=new MySocket;各位大虾,我问的问题也不多,分对我来说没什么意义,如果谁解决了这个问题,我再加200分。