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.========================
  • 相关阅读:
    哥德尔不完备定理
    关于欧拉公式证明的一个延拓
    关于贝叶斯定理的一个延拓
    贝克莱悖论
    自然数的公理化理论体系定义的新方法
    关于Spring中的<context:annotation-config/>配置
    <mvc:default-servlet-handler/>的作用
    web.xml context-param配置
    Spring JDBC框架操作mysql数据库
    Spring + JDBC example
  • 原文地址:https://www.cnblogs.com/ailx10/p/5349855.html
Copyright © 2011-2022 走看看