• 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(点分十进制转换为网络型参数)

  • 相关阅读:
    Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)
    MySQL 数据备份与还原
    java实现时钟方法汇总
    java实现二叉树demo
    java实现心型、99乘法demo
    显示本月日历demo
    打开图片并显示在面板上demo
    ArraySort--冒泡排序、选择排序、插入排序工具类demo
    类的实例化顺序
    StringsUtil字符串工具类---灵活截取
  • 原文地址:https://www.cnblogs.com/jiangtongxue/p/11338995.html
Copyright © 2020-2023  润新知