//连接成功,之后需要发送到远程主机,并且接受远程主机返回的值
AfxMessageBox(tp->data); if(send(listen_socket,tp->data,sizeof(tp->data),0)<0)
{
AfxMessageBox("远程发送失败");
return 0;
}
char* buffx = new char[BUFSIZE];    int len = recv(listen_socket,buffx,sizeof(buffx)+1,0);

AfxMessageBox(buffx);以上思路是这样的,发送给baidu一个从本机截获的http信息,然后发给百度,之后接受百度回来的信息
思路有问题么?为什么返回的数据全是“屯屯屯屯屯屯屯屯屯”啊?

解决方案 »

  1.   

    屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯 是内存未初始化.. 貌似且是debug版的内存char* buffx = new char[BUFSIZE];
    memset(buffx,0,BUFSIZE);
      

  2.   

    哦,是,但为什么recv接收到的值是空呢?我的思路有问题么?
      

  3.   

    两个问题:1.  sizeof(buffx)这值是4改为 BUFSIZE2. sizeof(tp->data) tp->data是一个结构体??那么请确认它的对齐值是1
    建议楼主好好看看C或者C++的语法