zoukankan      html  css  js  c++  java
  • TCP编程的迷惑

    server : ip -- 192.168.96.132

    client: ip--192.168.96.131

    在服务端,accept函数的其中一个入参是listen-socket,会返回一个新的connection-socket。通过connection-socket,调用getpeername,可以得到客户端的IP和端口。通过connection-socket,调用getsockname,可以得到本地的IP和端口。

    按我直观的理解,这个端口应该是个随机的端口,因为connection-socket是新建的socket,是和listen-socket不同的socket。但事实令我不解,这个端口竟然和listen-socket绑定的端口是相同的。

    Answer:原来我们看socket,不能光看到通过socke API或accept API创建的socket,心中要有图画,这个socket是和远方连接的。每个socket由四元组组成,本地IP,本地端口,远方IP,远方端口。虽然accept函数返回的connection-socket调用getsockname返回的IP和端口同listen-socket绑定的IP和端口是相同的,但因为他们的远方连接的不同,所以他们是不同的socket。不要迷惑。

  • 相关阅读:
    C++分数类
    2019 SDN大作业
    个人作业-软工实践总结
    2019 SDN上机第7次作业
    2019 SDN上机第6次作业
    2019 SDN课程阅读作业(2)
    个人作业--软件评测
    2019 SDN上机第5次作业
    2019 SDN上机第4次作业
    2019 SDN第一次阅读作业
  • 原文地址:https://www.cnblogs.com/kex1n/p/7882032.html
Copyright © 2011-2022 走看看