码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 套接字(1)

时间:2015-06-15 23:58:28      阅读:332      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!