易截截图软件、单文件、免安装、纯绿色、仅160KB

linux socket编程一般模式

1:所需头文件:<systypes.h>(数据类型定义)  < sys/socket.h>(提供socket函数和数据结构)
    <netinet/in.h>(定义数据结构sockaddr_in) <netdb.h>(提供获取域名或IP的函数) 
    <arpa/inet.h>(提供IP地址转换函数)  <sys/select.h> (提供select函数集相关数据结构的)
2:编写客户端程序
      int sock_fd, recvbytes;
  char buf[MAXDATASIZE];   //接受的数据存放的位置
  struct hostent *host;
   struct sockaddr_in serv_addr
     
      if((host=gethostbyname(argv[1]))==NULL)
     {
          herror("gethostbyname出错!");
          exit(1);
     }
  if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
    {
        perror("socket创建出错!");
        exit(1);
    }
   
serv_addr.sin_family=AF_INET;
  serv_addr.sin_port=htons(SERVPORT);
  serv_addr.sin_addr = *((struct in_addr *)host->h_addr);
  bzero(&(serv_addr.sin_zero),8);
  if (connect(sock_fd, (struct sockaddr *)&serv_addr, \
   sizeof(struct sockaddr)) == -1) {
         perror("connect出错!");
         exit(1);
      }
  if ((recvbytes=recv(sock_fd, buf, MAXDATASIZE, 0)) ==-1) {
     perror("recv出错!");
      exit(1);
     }
  buf[recvbytes] = '\0';
  printf("Received: %s",buf);
  close(sock_fd);
}
int sock_fd,client_fd;    /*sock_fd:监听socket;client_fd:数据传输socket */
  struct sockaddr_in my_addr; /* 本机地址信息 */
  struct sockaddr_in remote_addr; /*


相关文档:

构建ARM Linux交叉编译工具链

2.2  构建ARM Linux交叉编译工具链
构建交叉编译器的第一个步骤就是确定目标平台。在GNU系统中,每个目标平台都有一个明确的格式,这些信息用于在构建过程中识别要使用的不同工具的正确版本。因此,当在一个特定目标机下运行GCC时,GCC便在目录路径中查找包含该目标规范的应用程序路径。GNU的目标规范格式为CPU-PLATF ......

怎样创建真正很小的Linux下的ELF可执行文件


怎样创建真正很小的Linux下的ELF可执行文件
转载: ELF文件格式研究
日期: Friday, July 25 @ 14:46:16 CST
主题: 软件开发

发信人: someone (++), 信区: Linux

标 题: 怎样创建真正很小的Linux下的ELF可执行文件
发信站: ......

Linux 2.6.19.x 内核编译配置选项简介


Linux 2.6.19.x 内核编译配置选项简介
作者:金步国
版权声明
本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档 ......

linux内核中开头带有 asmlinkage 的函数表示什么

强制通过堆栈传递参数,不要用寄存器传递
仔细看一下有asmlinkage的地方通常是系统调用的函数,因为在系统调用中,寄存器从用户空间传过来后SAVE_ALL压入堆栈,接着调用相应的系统调用函数,这样系统调用函数一定要保证是通过堆栈传递参数的
转贴一段:
The asmlinkage tag is one other thing that we should observe a ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号