ReceiveFrom 使用MSG_PEEK参数 查看消息时发生错误
我用UDP协议写了一个SOCKET,
用一个DWORD定义消息长度,另外一个定义消息ID,但是在查看的时候,就发生错误。
//读取消息头和消息长度
DWORD MSG_SIZE,MSG_ID;
CHAR HEAD_BUFF[sizeof(DWORD) * 2 ];
int HEAD_LEN = sizeof(HEAD_BUFF) ;
UINT PORT_RECV ;
CString STR_ADDRESS;
DWORD dwHead;
//查看前面8个字节的内容
int ret =ReceiveFrom(HEAD_BUFF,HEAD_LEN,STR_ADDRESS,PORT_RECV,MSG_PEEK);
if(ret ==SOCKET_ERROR) return;
请高人指点一下,为什么我的消息长度是8个字节时不会发生错误,一但超过8个字节,就发生10040错误。
既然是使用MSG_PEEK参数了,为什么还要指定缓冲区的实际大小呢。
求人指点一下,是什么地方写错了。
[解决办法]
看看这篇文章
http://blog.csdn.net/fysy0000/article/details/6676028