打印
[boot]

Linux-socket编程接口介绍

[复制链接]
612|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
蒋博1026|  楼主 | 2019-8-21 08:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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(点分十进制转换为网络型参数)

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

323

主题

1820

帖子

18

粉丝