应该明确是的TCP连接一样需要心跳包机制,但为什么很多人一提心跳包都是说用UDP来实现

解决方案 »

  1.   

    我倒是经常看到TCP的心跳包,可能是你遇到的大多搞UDP吧
      

  2.   

    具体使用UDP/TCP要看你的项目需要。TCP的心跳包一般可以用来进行双向的保活测试,比如要求:
    heartbeat     --->
    heartbeat ack <---而UDP就不同了,如果只是通知另外一方你还alive,那么显然UDP是不错的选择。比如:
    heartbeat --->
    heartbeat --->
    heartbeat --->个人理解仅供参考。楼上的不要人云亦云哦
      

  3.   

    心跳包不像传输文件那样需要精确连接,你只要按时发送,这次联不上还有下次,所以用Udp就可以满足要求了
      

  4.   

    心跳包只是告诉别人你还活着,让对方可以判断出你所处的状态,保证连接UDP就够了
      

  5.   

    实现目的不同
     TCP中的心跳包大多数情况下主要是用来保持session的有效性
     UDP主要是用来模拟session
      

  6.   

    心跳包 只是通知别人在线
    不需要很准确的
    tcp udp都行吧
      

  7.   

    没有TCP,和UDP之分。看情况而定。
      

  8.   

    心跳——就是告诉对方你现在是有生命的哈。我在TCP和UDP中都用过
      

  9.   

    TCP和UDP都可以业务里用什么就用什么
      

  10.   

    使用TCP更容易使双方都知道各自的在线情况