读书人

ReceiveFrom 使用MSG_PEEK参数 查看消

发布时间: 2012-04-03 12:38:19 作者: rapoo

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

读书人网 >VC/MFC

热点推荐