阅读一些ping程式源码,如MSDN中的,请教:
为什么发送ICMP packet不像发送TCP or UDP packet那样,需要同时指定目标的端口号?
谢谢指点!

解决方案 »

  1.   

    我也在学习,不过资料上说, ICMP是ip的附属协议,他在tcp层的下面,所以不用管tcp层中的port吧如果不对,不要骂我呀!!
      

  2.   

    ICMP根本就没有端口的概念。ICMP是属于网络层的,建议看看TCP/IP方面东西。
      

  3.   

    我看到很多此类例程中,构造的struct sockaddr_in 中sin_port填0。
      

  4.   

    因为icmp packet 是由操作系统内核直接处理的