继承CSocket类,同一地址同时读两个端口,OnReceive事件如何区分端口??
继承CSocket类 读去UDP广播包,,,
地址 192.168.1.100 先读6001端口是参数 6003端口是数据
继承CSocket类 OnReceive事件如何区分端口??
读的时候是那个端口?? 6001 端口,,还是6003端口
如
CUdpSocket *m_pSocket1;
CUdpSocket *m_pSocket2;
m_pSocket->Create(6001, SOCK_DGRAM); //6001端口
m_pSocket->Bind(6001, "192.168.1.100");
m_pSocket->Create(6003, SOCK_DGRAM); //6003端口
m_pSocket->Bind(6003, "192.168.1.100");
void CUdpSocket::OnReceive(int nErrorCode) //在公共继承继承CSocket类 如何区分接收到是那个端口数据????
{
// TODO: Add your specialized code here and/or call the base class
CString strBuf;
int len = sizeof(SOCKADDR_IN);
ZeroMemory(recBuf, sizeof(recBuf));
int recBytes = ReceiveFrom(recBuf, 1023, (SOCKADDR*)&m_clientAddr, &len, 0);
if(recBytes==0)
AfxMessageBox(TEXT("UDP连接已经关闭!"));
else
if (SOCKET_ERROR == recBytes)
AfxMessageBox(TEXT("接受数据失败!"));
else
{
strBuf.Format(TEXT("=%d,收到数据: %s"), recBytes, recBuf);
AfxMessageBox(strBuf, MB_OK);
}
CSocket::OnReceive(nErrorCode);
}