当前位置:首页 » 多媒体相关

关于SOCKET编程


以下是一个通http下载文件的程序,但总是在connect时不成功,请问为什么?  
      char   fname[maxpath];    
   
       
   
      void   logfile(char   *p)    
   
       
   
  {    
   
       
   
                      file   *fp=fopen(fname,"a+");    
   
       
   
                      fprintf(fp,"%s\n",p);    
   
       
   
                      fclose(fp);    
   
       
   
  }    
   
       
   
       
   
      bool   httpclient(void)    
   
       
   
  {    
   
       
   
                      wsadata   ws;    
   
       
   
                      socket   s;    
   
       
   
                      struct   sockaddr_in   addr;    
   
       
   
       
   
                      int   iresult;    
   
       
   
                      long   lresult;    
   
       
   
                      char   strsubaddr[100],   strbuffer[100];    
   
       
   
       
   
                      lresult   =   wsastartup(0x0101,&ws);    
   
       
   
                      s   =   socket(af_inet,sock_stream,0);    
   
       
   
       
   
                      addr.sin_family   =   af_inet;    
   
       
   
                      addr.sin_port   =   htons(80);    
   
       
   
                      addr.sin_addr.s_addr   =   inet_addr    
   
       
   
                    ("168.160.224.185");   //   计算机世界日报    
   
       
   
                      iresult=connect(s,(struct   sockaddr   *)   &addr,   sizeof(addr));    
   
       
   
                      if(socket_error   ==   iresult)    
   
       
   
                      {    
   
       
   
                                      //   连接失败    
   
       
   
                                      wsacleanup();    
   
       
   
                                      return   false;    
   
       
   
                      }    
   
       
   
                      else   {    
   
       
   
                                      //   连接成功    
   
       
   
                      strcpy(strsubaddr,   "get   /99/tips/   \r\n");    
   
       
   
                    strcpy(fname,   "index.htm");    
   
       
   
                    iresult   =   send(s,   strsubaddr,strlen(strsubaddr),0);    
   
       
   
       
   
                                      //   下载文件    
   
       
   
                                      do   {    
   
       
   
                                                      strset(strbuffer,   );    
   
       
   
                    iresult   =   recv(s,strbuffer,sizeof(strbuffer),0);    
   
       
   
                          logfile(strbuffer);    
   
       
   
                                      }   while(   iresult   !=0   );    
   
       
   
                      }    
   
       
   
       
   
                      wsacleanup();    
   
       
   
                      return   true;    
   
       
   
  }    
 

.

推荐阅读

  • 摩托罗拉新机发布之E365 [详细内容]
  • R9550季候赛 斯巴达克256MB新品入村 [详细内容]
  • 怎样将电池的电压充的更高些 [详细内容]
  • 摩托罗拉新机发布之T725 [详细内容]
  • 256MB大容量GF6显卡仅售7XX [详细内容]
  • GPRS小技巧 [详细内容]
  • 年度新锐榜:MOTO捧回两项桂冠 [详细内容]
  • 网友回答:

    讨论区

    Login