码迷,mamicode.com
首页 > 其他好文 > 详细

第15章 套接字

时间:2016-04-22 23:38:09      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

 

创建:

 

#include <sys/types.h>

#include <sys/socket.h>

int socket( int domain, int types, int protocol);

domain:

  AF_UNIX, AF_LOCAL      // address family  地址是文件名

  AF_INET   //IPV4

  AF_INET6  //IPV6

types:

  1. stream:  SOCK_STREAM    //流

  2. datagram: SOCK_DGRAM  //数据报

socket返回的描述符,用read和write调用

close系统调用结束socket连接

不同的domain 有不同的地址格式:

  AF_UNIX : 定义在sys/un.h 中

    struck sockaddr_un {

      sa_family_t  sun_family;

      char     sun_path[ ];

    };

  AF_INET : 定义在netinet/in.h中

  struct sockaddr_in {

    short int     sin_family;

    unsigned short int  sin_port;

    struct in_addr    sin_addr;

  };      其中:

      sruct in_addr {

        unsigned long int  s_addr;

      };

 

命名:   要使用创建好的套接字,需要命名.

#include <sys/socket.h>

int bind( int socket, const struct sockaddr *address, size_t address_len);  //succes return 0.

 

 

建立套接字队列:  保存未处理的请求

 

  #include <sys/socket.h>

  int listen( int socket, int backlog);   //backlog位保存的最大个数    成功 返0

 

接收连接:

  服务器程序建立并命名了套接字后 可通过accept系统调用来等待客户建立对该套接字的连接

  #include <sys/socket.h>

  int accept( int socket, strucct sockaddr *sddress, size_t *address_len);

 

    

 

第15章 套接字

标签:

原文地址:http://www.cnblogs.com/oh-mine/p/5423068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!