当前位置:  技术问答>linux和unix

嵌入式linux下,TCP的客户端无法连接到服务器(硬件没问题),请帮忙看看!谢谢

    来源: 互联网  发布时间:2015-12-07

    本文导语:  #include             #include        #include          #include            #include        #include         #include             #include          #include             #include      #include ...

#include            
#include       
#include         
#include           
#include       
#include        
#include            
#include         
#include            

#include     
#include     

#include     
#include     
  // #include     
#include     

#define     FALSE   0
#define     TRUE    1

 

char * host_name="192.168.3.18";
int  server_port=8000;


#define MAXDATASIZE 1024

int main(int argc,char ** argv)
{    
    int socket_fd;   
    struct sockaddr_in server_addr;
    struct hostent * server_host_name;   
  
  sleep(5);//delay 5s 

  for(;;)
  {

  
  if((server_host_name=gethostbyname(host_name))==0)
  {
  printf("ncan not resolving localhost");
  
  }

  bzero(&server_addr,sizeof(server_addr));
  server_addr.sin_family=AF_INET;
  server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
  server_addr.sin_addr.s_addr=((struct in_addr *)(server_host_name->h_addr))->s_addr;
  server_addr.sin_port=htons(server_port);

  if((socket_fd=socket(AF_INET,SOCK_STREAM,0))==-1)
  {
    printf("nnError openning socket");
    close(socket_fd);
continue;
  }
  fcntl(socket_fd,F_SETFD,O_NONBLOCK);
  if(connect(socket_fd,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  {
    printf("nnError connect ...");
    close(socket_fd);
    continue;
  } 
  else
  {
  
     break;
  }

  
  }// end init socket

  printf("nConnect OK...");
       
  while(1)
  {
  ;

  }//end while 
    
  return 0;
  
}//END MAIN
------------------------
代码就是上面的,开发板与PC通过交叉网线连接,内核与文件系统通过TFTP下载到目标板,板子的IP为"192.168.3.200"。
先在PC跑TCP的服务端(IP:192.168.3.18,PORT:8000),局域网内任何机子跑的客户端都能和该服务端通信。板子启动后在超级终端输出的信息始终为“Error connect ...”。
请问怎么解决?谢谢

|
其他linux下的这个程序可以连上?

|
errno打出来不就知道原因了?

|
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
 server_addr.sin_addr.s_addr=((struct in_addr *)(server_host_name->h_addr))->s_addr;
改成
 server_addr.sin_addr.s_addr = inet_addr(host_name); 


    
 
 

您可能感兴趣的文章:

  • 哪些开源的ftp客户端可以用于嵌入式系统?
  • --------嵌入式Linux下的“pure-ftpd "怎样才能让ftp客户端正确显示“俄文”------
  • 请问在哪下载嵌入式Linux开发平台???想学嵌入式开发!!!
  • 有谁做过嵌入式 Linux开发?是否有嵌入式Linux的JVM?
  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • 问一个弱弱的问题:做嵌入式开发,宿主机的Linux版本一定要跟目标机上的嵌入式Linux版本一致么?
  • 我怎么糊涂了:想开发嵌入式系统(目标机采用UCLINUX嵌入式操作系统),在RED HAT LINUX下开发,选用什么工具呢?QT还是qt embedded?
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 请问什么是嵌入式数据库?(空)
  • 关于“嵌入式Linux”
  • 嵌入式系统的学习
  • 嵌入式学习方法
  • 请问:构建一个嵌入式开发环境时的疑问?
  • linux 嵌入式开发用买开发板吗?
  • 求嵌入式Linux的入门书籍!
  • 嵌入式应用开发协作系统 Yocto
  • 嵌入式系统的C运行库 Newlib
  • 嵌入式GLIBC EGLIBC
  • 驱动程序开发和嵌入式开发有什么联系吗?
  • 嵌入式 syslog
  • vc++与Linux嵌入式
  • 计算机专业学习 嵌入式可以么 ??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 现在LINUX主要用在哪些嵌入式设备上?
  • 嵌入式系统 Prex
  • web开发和嵌入式开发哪个更有挑战
  • 嵌入式linux 组播接收问题
  • Linux的嵌入式开发,请高手指点
  • 国内有哪些好的嵌入式公司???
  • 开源嵌入式操作系统 Contiki
  • 嵌入式Web服务器 Appweb
  • 实时嵌入式操作系统 NuttX
  • 嵌入式系统虾米意思呀?
  • Linux 用什么工具进行嵌入式开发。
  • 我想学习Linux 嵌入式开发,请大家指教
  • java 还是LINUX嵌入式???
  • 嵌入式 syslog iis7站长之家
  • 是考验还是嵌入式??
  • linux运维转linux嵌入式
  • 嵌入式GUI库 eSWT
  • 嵌入式系统考研请教?
  • ARM 嵌入式系统的仿真器 Softgun
  • 如何开发嵌入式Linux操作系统?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3