不知道什么昵称 2015-05-01 03:36 采纳率: 66.7%
浏览 3489
已采纳

linux c语言 socket编程 recv每次收到一样的数据

#include
#include
#include
#include
#include
#include
#include
#include
#include
int main() {
int so=socket(AF_INET,SOCK_STREAM,0),r;
sockaddr_in addr;
hostent hp;
hp=gethostbyname("www.csdn.net");
addr.sin_addr.s_addr=
((unsigned long*)hp->h_addr);
addr.sin_family=AF_INET;
addr.sin_port=htons(80);
connect(so,(sockaddr*)&addr,sizeof(sockaddr));
char message[200]="GET / HTTP/1.0\r\nHost:www.csdn.net\r\n\r\n";
send(so,message,strlen(message)+1,0);
char buf[1024]={0};
while(recv(so,buf,1024,MSG_PEEK)){
puts(buf);
memset(buf,0,1024);
}
}
就这样一直收不完,请问为什么
谢谢

  • 写回答

4条回答 默认 最新

  • Landpack 2015-05-02 03:27
    关注

    Please Don't use "MSG_PEEK",If you use it ,you will recv the same message !!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题
  • ¥15 主机可以ping通路由器但是连不上网怎么办
  • ¥15 数据库一张以时间排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方