首页 > 系统服务 > 详细

Linux 套接字(1)

时间:2015-06-15 23:57:53      阅读:434      评论:0      收藏:0      [点我收藏+]

      套接字的特性由三个属性确定 :  域,  类型,   协议.

1.域

   AF_UNIX  UNIX域协议 ( 文件系统套接字)

   AF_INET   ARPA因特网协议 (UNIX网络套接字)

    ...省略


2.类型

  1)  流套接字:  SOCK_STREAM

  2)  数据报套接字 :  SOCK_DGRAM


3. 协议

    一般由套接字类型和套接字域来决定, 通常不需要选择. 将该参数设置为0表示使用默认协议.


套接字地址.

1)  AF_UNIX 

   struct sockaddr_un {

          sa_family_t  sun_family;   /* AF_UNIX */

          char               sun_path[];  /* pathname */

};


2) AF_INET

    struct sockaddr_in {

             short int                          sin_family;  /* AF_INET */

             unsigned   short  int     sin_port;   /* port   number */

             struct   in_addr              sin_addr;   /* Internet  address */

     };    该结构定义在头文件 netinet/in.h 中

   IP地址结构in_addr被定义为:

   struct  in_addr  {

          unsigned  long int  s_addr;

   };


 1. 命名套接字

#include  <sys/socket.h>

int bind( int socket,  const struct sockaddr *address,  size_t address_len);

 

2. 创建套接字队列

 #include <sys/socket.h>

 int listen( int socket,  int backlog);


3.接受连接

 #include <sys/socket.h>

 int accept( int socket,  struct sockaddr *address,  size_t  *address_len );


4.请求连接

  #include <sys/socket.h>

  int connect( int socket,  const struct sockaddr *address,  size_t  address_len);


5.关闭套接字

   close();



Linux 套接字(1)

原文:http://blog.csdn.net/nizhannizhan/article/details/46508735

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!