zoukankan      html  css  js  c++  java
  • Linux-socket编程接口介绍

    1、建立连接

    (1)、socket。socket函数类似于open,用来打开一个网络连接,如果打开成功则返回一个网络文件描述符(int类型),之后我们操作这个网络连接都可以通过这个网络文件描述符。

    (2)、bind。把本地的IP地址和我们的socket绑定起来

    (3)、listen。 监听

    (4)、connect 。连接

    2、表示IP地址相关数据结构

    (1)、都定义在 netinet/in.h

    (2)、struct  sockaddr,这个结构体是网络编程接口中用来表示一个IP地址的,注意这个IP地址是不区分IPv4和IPv6d。(或者说是兼容IPv4和IPv6)。

    (3)、typedef  uint32_t   in_addr_t;        网络内部用来表示IP地址的类型

    (4)、struct   in_addr

               {

                 in_addr_t    s_addr;

               }

    (5)、struct  sockaddr

    这个结构体是Linux的网络编程接口中用来表示IP地址的标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPv4和IPv6的。在实际编程中这个结构体会被一个struct  sockaddr_in或者一个structaddr_in6所填充。

    (6)、struct  sockaddr_in

                {

        _SOCKADDR_COMMON(sin_);

        in_port_t    sin_port;

        struct   in_addr   sin_addr;

        unsigned  char  sin_zero[sizeof(struct  sockaddr) -

                                                          __SOCKADDR_COMMON_SIZE  -

                   sizeof  (in_port_t) -

                                                          sizeof (struct  in_addr)];

                   }

    3、辅助型函数

    (1)、inet_aton、inet_addr、inet_ntoa

    (2)、inet_ntop(网络型参数转换为点分十进制)、inet_pton(点分十进制转换为网络型参数)

  • 相关阅读:
    10: Django + Uwsgi + Nginx 的生产环境部署
    04:应用管理
    发送消息的时候,会指定用户,其实还可以定义媒介为脚本,让用户执行这个脚本
    解决zabbix使用中文是出现乱码的问题
    inotify 工具 是一种强大的、细粒度的、异步文件系统监控机制
    rsync 远程同步工具
    vsftpd:非常安全的ftp服务端程序
    Varnish是一款高性能的开源HTTP加速器
    keepalived 高可用(IP飘移)
    dns域名解析
  • 原文地址:https://www.cnblogs.com/jiangtongxue/p/11338995.html
Copyright © 2011-2022 走看看