Linux 套接字(1)

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

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();



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值