如QQ,如何开发一个程序,能通过INERNet聊天,以前我做一个,可是一到Internet就不好用了。不知如何解决,望得高人指点

解决方案 »

  1.   

    udp的话,建议有一个服务器,大家都通过这个服务器交换IP地址和刷新自己,这样就算是代理的也没关系
      

  2.   

    楼上的,我现在不明白如何能在局域内和Internet上的机器通信,如QQ,也就是编写跨Internet的聊天程序
      

  3.   

    局域网和INTERNET和我们的程序没有关系呀,我们做程序的时候根本不用考虑这些问题呀,我们只要指定IP和PORT,不管在局域网还是INTERNET都可以通信呀。地址转化是由代理服务器完成的呀,你只要配置你的代理服务器嘛
      

  4.   

    举个例子说吧:
       我的    IP  :172.16.0.44
               网关:172.16.0.1
               DNS: 202.98.0.17
       对方的:
               IP  :192.168.0.78
               网关:192.168.0.1
               DNS: 202.68.0.98
    我如何进行设置才能找到对方的机器,给对方发消息
      

  5.   

    我明白你的意思了,如果双方都是内部IP,而且在不同的局域网内(外部IP不同),我没有试过。我试过,局域网内都用都用内部IP,或者一方用内部IP,另一方用外部IP进行UDP,都是可以的你如何找到对方的机器?
    你应该运行一个服务器,它有固定的IP,当你的程序运行时,应该自动的跟它连,这时
      

  6.   

    服务器会记录下使用者的IP,别的好友也可以知道他上线了。(启动QQ也是要连服务器的哦)
      

  7.   

    内部网址可以通过网关出去, 
    但从外面想进来就难了, 除非对方指定你的网关。在INTERNET上, 两机通信是用INTERNET的全球IP是进行的,
    当你上网时, 你的机器会获得一个临时的全球IP。
      

  8.   

    我终于明白你的意思了。由于通信主机双方都用的是内部IP,所以实现起来要麻烦一点,但只要建立了连接,一切就好办了。有一个手工设置方法,比如,举个例子说吧:
       我的    IP  :172.16.0.44   PORT:8888
               网关:172.16.0.1
               DNS: 202.98.0.17
       对方的:
               IP  :192.168.0.78  PORT:9999
               网关:192.168.0.1
               DNS: 202.68.0.98对方将     IP  :192.168.0.78  PORT:9999映射到网关:192.168.0.1的某一个端口上,比如10000,这时,你的主机可以和对发的网关发送连接请求(用的是网关的外部IP,端口10000)。当对方网关收到请求后,会自动将请求转发给目标主机的,于是双方就建立了连接了。
      

  9.   

    rtdb(东临碣石) :如何获得一个临时的全球IP
      

  10.   

    aben456(风轻扬) :在服务器上如何记录局域网内部的IP