初学mfc,想用CAsyncSocket类实现最简单的一个代理功能,就是把从客户端接收到的信息原封不动的发到目的地,从目的地接受回来的信息也原封不动的发给客户端,但是对于receive和send方法里面的参数buff有些疑惑,这个buff的大小应该是可变的才对,比如用ie当客户端时,我用一个char数组接收,如果buff过小,那么请求就不完整,而如果buff过大,后面又会跟上一串乱码,我是用charBuff=new char[512];这样的方法初始化数组的,我希望在receive的时候把请求接受完毕后用strlen能正确的统计请求的大小而不会多接受,可是现在我把收到的buff显示出来后面会更上很多乱码,这应该是初始化buff的时候内存中的无效数值,这些可以不要吗?还有就是接受的时候,每个网页大小都肯定不一样,我不可能用一个很大的buff去接受,如果我要把这些信息都传回给ie应该要怎么做呢?希望有经验的人帮忙解答下,谢谢!
调用Receive后可以返回接收到的字符数n,此时后面添加一条语句charBuff[n]=NULL;就可以了啊
你是没初始化
memset(buf,0,sizeof(buf));