none
ping 问题 RRS feed

  • 问题

  • 我在2005下做了一个类似于QQ的东西。可以通讯,传文件等功能。但是做的过程中我发现在局域网上可以实现聊天,传送文件等功能。但是远距离就不行了。而且奇怪的是我ping目标时ping不到对方,总是lost。但是QQ可以正常聊天啊。这是为什么?怎样解决这个问题。我已经把防火墙,杀毒软件都关了。但还是不行。ping都ping不到对方。谢谢
    muradil
    2009年4月24日 13:13

答案

  • 您好!
    Ping只是发送并等待接收ICMP包进行远程主机是否存在的判断,如果远程主机不返回数据包那么就会出现Ping不通的现象

    QQ使用的是TCP和UDP协议,和能否ping通没有关系

    局域网与外部网络间进行通信因为会经过路由,所以对于IP地址情况的判断要比局域网内复杂一些。

    ***** 本人目前处于努力学习模式,希望大家多多伸手帮助~ *****

    qq的tcp长连接用得比较少吧  一般都是udp 和http


    qq并不是一个纯粹的点对点通讯软件  每个用户的udp地址和端口语都在服务器有保存    所以可以通过udp打洞  让一个client直接发送到对方路由器临时映射的udp端口

    就算不能直接发送成功   还可以在qq服务器暂时存储  下次在目标client下次和服务器交互的时候转发

     对方就算不能连接到internet 只要连接到qq服务器  就可以收到。
    工作突然有点忙 嘿嘿
    2009年4月26日 15:11

全部回复

  • 如果tcp,udp协议下,传送Unicode字符怎么弄啊。在vb6.0下写的。


    muradil
    2009年4月23日 4:45
  • 传送没问题,都是byte

    vb6怎么显示Unicode?
    http://feiyun0112.cnblogs.com/
    2009年4月23日 5:44
    版主
  • 可以用unitilbox控件的帮助。要不直接转ASCII码。
      还有我在传送文字是,同一个子网内时可以传送数据,但是不是同一个子网就不能传送数据了。说找不到服务器。ip是明确的。但不知道为什么。不是同一个子网就不能连接了。谢谢。。。这个怎么解决啊。


    muradil
    2009年4月23日 13:07
  • 不同子网你ping得通吗?


    http://feiyun0112.cnblogs.com/
    2009年4月24日 0:47
    版主
  • 很奇怪ping 不通啊。但是QQ正常聊天啊。。。。这是为什么呢?大家提个好一点的意见撒。。。谢谢


    muradil
    2009年4月24日 11:48
  • 远程计算机有可能关闭了Ping。一般的防火墙为了安全起见默认状态下也会屏蔽Ping请求
    ***** 本人目前处于努力学习模式,希望大家多多伸手帮助~ *****
    2009年4月24日 15:13
  • 那QQ为什么可以聊天,我做的东西就不能啊。没有好一点的方法解决这个吗?在线等答案


    muradil
    2009年4月24日 15:25
  • 您好!
    Ping只是发送并等待接收ICMP包进行远程主机是否存在的判断,如果远程主机不返回数据包那么就会出现Ping不通的现象

    QQ使用的是TCP和UDP协议,和能否ping通没有关系

    局域网与外部网络间进行通信因为会经过路由,所以对于IP地址情况的判断要比局域网内复杂一些。

    ***** 本人目前处于努力学习模式,希望大家多多伸手帮助~ *****
    2009年4月24日 15:37
  • 有没有什么方法或者代码可以解决这个问题啊。我想像QQ一样自由自在的通信。谢谢


    muradil
    2009年4月24日 15:51
  • 我也不是很明白的,嘿嘿。期待明天高人出现来解答吧~
    (取得本机公网IP地址也是个老话题了……如果遇到一些问题的话建议先Google一下看看有没有相关的资料^_^)

    ***** 本人目前处于努力学习模式,希望大家多多伸手帮助~ *****
    2009年4月24日 15:55
  • 您好!
    Ping只是发送并等待接收ICMP包进行远程主机是否存在的判断,如果远程主机不返回数据包那么就会出现Ping不通的现象

    QQ使用的是TCP和UDP协议,和能否ping通没有关系

    局域网与外部网络间进行通信因为会经过路由,所以对于IP地址情况的判断要比局域网内复杂一些。

    ***** 本人目前处于努力学习模式,希望大家多多伸手帮助~ *****

    qq的tcp长连接用得比较少吧  一般都是udp 和http


    qq并不是一个纯粹的点对点通讯软件  每个用户的udp地址和端口语都在服务器有保存    所以可以通过udp打洞  让一个client直接发送到对方路由器临时映射的udp端口

    就算不能直接发送成功   还可以在qq服务器暂时存储  下次在目标client下次和服务器交互的时候转发

     对方就算不能连接到internet 只要连接到qq服务器  就可以收到。
    工作突然有点忙 嘿嘿
    2009年4月26日 15:11