【问题标题】:Why TCP accepted socket does not need bind(int, __CONST_SOCKADDR_ARG, socklen_t)为什么 TCP 接受的套接字不需要 bind(int, __CONST_SOCKADDR_ARG, socklen_t)
【发布时间】:2015-01-14 06:33:39
【问题描述】:

是子socket创建后

int accept(__fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len)  

绑定到本地地址,如果不是,为什么?

【问题讨论】:

    标签: sockets tcp


    【解决方案1】:

    是的,它绑定到本地 IP/端口。它绑定到接受连接请求的特定本地 IP(特别是如果侦听套接字通过通配符 IP 绑定到多个本地 IP,例如INADDR_ANY),并且绑定到侦听套接字绑定到的同一个本地端口。

    【讨论】:

    • 其实我相信它是绑定到SYN包的目标IP地址的,由于“弱端系统模型”,它不一定与接受连接请求的IP相同。
    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2021-12-11
    • 1970-01-01
    相关资源
    最近更新 更多