zoukankan      html  css  js  c++  java
  • 函数bind

    头文件:

      #include <sys/types.h>

      #include <sys/socket.h>

    函数功能:

      把协议族中的特定地址赋值给socket,例如:对应AF_INET,AF_INET6就是把一个ipv4或ipv6的地址和端口号组合起来赋值给socket。

    函数原型:

      int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

        sockfd:服务器socket描述符

        addr:一个const struct sockaddr *指针,指向要绑定给服务器sockfd的协议地址,其中不同的协议对应不同的结构:

          ipv4对应的是:

          struct sockaddr_in

          {

            sa_family_t     sin_family;

            in_port            sin_port;

            struct in_addr sin_addr;

          }

           struct in_addr

          {

            uint32_t s_addr;

          }

        addrlen:地址的长度

    通常服务器在启动的时候,会绑定一个众所周知的地址(IP地址+端口号)用于提供服务,客户就可以通过该地址来连接服务器;而客户端就不用指定,由系统自动分配一个端口号和IP地址进行组合。这就是为什么服务器在listen之前会调用bind(),而客户端就不需要,客户端是在connect()时由系统随机进行生成。

  • 相关阅读:
    DbgPrint格式 输出
    string 类常用函数[转]
    pragma warning[转]
    连接符
    ubuntu ftp server
    关于dex

    Topology中各函数调用顺序
    C# 错误捕捉
    操作word,Excel,PPT
  • 原文地址:https://www.cnblogs.com/chen-cai/p/9159233.html
Copyright © 2011-2022 走看看