mfc onreceive
给我一VC的mfc的sock的onreceive的最简单的例子server端的接收信息不会写...
给我一VC的mfc的sock的onreceive的最简单的例子
server端的接收信息不会写 展开
server端的接收信息不会写 展开
2013-09-07
展开全部
该函数是个需要重载的回调函数,当一个套接口已经准备好数据,并且可以由函数Receive()接收时,就可以调用此函数处理相应的消息。
//下面的CMyAsyncSocket是CAsyncSocket类的派生类
void CMyAsyncSocket::OnReceive(int nErrorCode)
{
static int i=0;
i++;
TCHAR buf[4096];
int nRead;
nRead=Receive(buff,4096);
switch(nRead)
{
case 0:
Close();
break;
case SOCKET_ERROR:
if(GetLastError()!=WSAEWOULDBLOCK)
{
AfxMessageBox("Error occurred");
Close();
}
break;
default:
buff[uRead]=0;
CString szTemp(buff);
m_strRecv+=szTemp;//m_strRecv是一个在CMyAsyncSocket中说明的字符串
if(szTemp.CompareNoCase("bye")==0)
ShutDown();
}
CAsyncSocket::OnReceive(nErrorCode);
}
//下面的CMyAsyncSocket是CAsyncSocket类的派生类
void CMyAsyncSocket::OnReceive(int nErrorCode)
{
static int i=0;
i++;
TCHAR buf[4096];
int nRead;
nRead=Receive(buff,4096);
switch(nRead)
{
case 0:
Close();
break;
case SOCKET_ERROR:
if(GetLastError()!=WSAEWOULDBLOCK)
{
AfxMessageBox("Error occurred");
Close();
}
break;
default:
buff[uRead]=0;
CString szTemp(buff);
m_strRecv+=szTemp;//m_strRecv是一个在CMyAsyncSocket中说明的字符串
if(szTemp.CompareNoCase("bye")==0)
ShutDown();
}
CAsyncSocket::OnReceive(nErrorCode);
}
2013-09-07
展开全部
我感觉这已经很精简了,这不是微软的例子。
先由函数Receive()接收,然后在用OnReceive函数进行处理。
你说的是在编辑框里显示接收到的数据,应该是把缓冲区里的内容赋给编辑框的文本吧。
先由函数Receive()接收,然后在用OnReceive函数进行处理。
你说的是在编辑框里显示接收到的数据,应该是把缓冲区里的内容赋给编辑框的文本吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询