这段代码是用来发送msg消息的,之前调用过conect函数。
我的问题是,为什么这段代码一个send函数没有,却实现了发送消息?class CClientSocket : public CSocket
BOOL CClientSocket::SendMessage(CMessg * msg)
{
if (m_aSessionOut != NULL)
{
msg->Serialize(*m_aSessionOut);
m_aSessionOut->Flush();
return TRUE;
}
else
{
//对方关闭了连接
m_bClose=true;
CloseSocket();
return FALSE;
}
}
我的问题是,为什么这段代码一个send函数没有,却实现了发送消息?class CClientSocket : public CSocket
BOOL CClientSocket::SendMessage(CMessg * msg)
{
if (m_aSessionOut != NULL)
{
msg->Serialize(*m_aSessionOut);
m_aSessionOut->Flush();
return TRUE;
}
else
{
//对方关闭了连接
m_bClose=true;
CloseSocket();
return FALSE;
}
}
m_aSessionOut->Flush();
======================
这是什么
msg估计是继承CObject类的
看书...
CAsyncSocket::Send,
virtual int Send( const void* lpBuf, int nBufLen, int nFlags = 0 );这个函数,如何发送数据?
是不是还要重载<<? 原来的类没有这么做
<<这个就能发送消息? void CMessg::Serialize(CArchive& ar)
{
// 发送消息
if(ar.IsStoring())
{
ar << type;
ar << from;
ar << to;
ar << m_str;
}
// 接收消息
else
{
ar >> type;
ar >> from;
ar >> to;
ar >> m_str;
}
}
http://topic.csdn.net/t/20020125/13/498675.html