int ReceiveFrom(void* lpBuf, int nBufLen, SOCKADDR* lpSockAddr, int* lpSockAddrLen, int nFlags = 0);
参数说明:
- lpBuf:指向接收数据的缓冲区的指针。
- nBufLen:指定缓冲区的大小。
- lpSockAddr:指向 SOCKADDR 结构的指针,用于存储发送数据的地址信息。
- lpSockAddrLen:指向整数的指针,用于指定 lpSockAddr 缓冲区的大小,并在调用后返回实际写入的地址信息的长度。
- nFlags:指定接收操作的标志,默认为 0。
返回值:
- 如果成功接收数据,返回接收到的字节数;如果发生错误,返回 SOCKET_ERROR。
示例用法:
CAsyncSocket mySocket;
// 假设已经创建并绑定了 mySocket
char buffer[1024];
SOCKADDR_IN senderAddr;
int senderAddrLen = sizeof(senderAddr);
int nBytesReceived = mySocket.ReceiveFrom(buffer, sizeof(buffer), (SOCKADDR*)&senderAddr, &senderAddrLen);
if (nBytesReceived != SOCKET_ERROR)
{
// 成功接收数据,可以处理接收到的数据和发送数据的地址信息
}
else
{
// 接收数据失败,处理错误
}
在上述示例中,ReceiveFrom 方法用于从指定的地址接收数据,并将数据存储在提供的缓冲区中。同时,它还会返回发送数据的地址信息。
转载请注明出处:http://www.zyzy.cn/article/detail/15521/MFC/CAsyncSocket