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

    bind函数把一个本地协议地址赋予一个套接字

    对于网际协议,协议地址是32位的IPv4地址或128位的IPv6与16位的TCP或UDP端口号的组合

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

    bind函数只是把一个协议地址赋予一个套接字。

    myaddr参数是一个特定于协议的地址结构的指针

    addrlen是该地址结构的长度

    对于TCP,调用bind可以指定一个端口号,或指定一个IP地址,也可以2者的欧元指定,还可以都不指定

    服务器在启动时捆绑它们的众所周知端口

    如果一个TCP客户或服务器未曾调用bind捆绑一个端口,当调用connect或listen 时,内核就要相应的套接字选择一个临时端口

    让内核选择临时端口对于TCP客户来说很正常,除非需要一个预留端口

    然而对于TCP服务器来说却极为罕见,因为服务器是通过它们的众所周知的端口被大家认识的

    进程可以把一个特定的IP地址捆绑到它的套接字上,不过这个IP地址必须属于其所在主机的网络接口之一

    对于TCP客户,这就为在该套接字上发送的IP数据报指派了源IP地址

    对于TCP服务器,这就限定该套接子只接收那些目的地为这个IP地址的客户连接

    TCP客户通常不把IP地址捆绑到它的套接字上

    当连接套接字时,内核将根据所用外出网络接口来选择源IP地址

    而所用外出接口则取决于到达服务器所需的路径

    如果TCP服务器没有把IP地址捆绑到它的套接字上,内核就把客户发送的SYN的目的IP地址作为服务器的源IP地址

    ========================if i have some wrong, please give me a message, thx.========================
  • 相关阅读:
    质数检测器
    《视觉SLAM十四讲》学习日志(一)——预备知识
    C++类的介绍
    Python数据类型解析(基础篇)
    括号匹配详解
    哈夫曼树编码
    分治之归并,快速排序
    洛谷p2216 多次单调队列,扫描矩阵中的最大值减去最小值最的固定大小子矩阵
    洛谷p1886滑动窗口最大最小值 双单调队列
    洛谷p1725 露琪诺 单调队列优化的DP
  • 原文地址:https://www.cnblogs.com/ailx10/p/5349855.html
Copyright © 2011-2022 走看看