为什么winsock编程中接收缓冲区不会因为接收函数recv()的调用而更新?
用如下代码接收,当对方发送一串字符,程序在循环过程中
将可以重复的收到该字符串,而且,当对方再发一新字符串
时,接收到的是两个字符串的总和,似乎是接收缓冲区一直
没有因为recv()函数的调用而更新
char buf[1024];
int rval,len;
do{
memset(buf,0,sizeof(buf));
if(rval=recv(msgsock,buf,1024,MSG_PEEK)>0)
TRACE("reading stream message");
if(rval==0)
TRACE("ending connection\n");
else
TRACE("-->%s\n",buf);
send(msgsock,"OK",4,MSG_DONTROUTE);
}while(rval!=0);