首先,两个用户当然是在不同的内网(都是用路由的)哦。
其次,假设他们都能连上那台公网服务器。
最后,服务器仅帮他们建立起连接,并不负责以后的数据中转。请问,要如何做?

解决方案 »

  1.   

    a,b,servera->server
    b->server
    server->a
    server->b
    a close
    a listen
    b close
    b->a
      

  2.   

    赫赫,net转换
    ,不想说,自己研究
      

  3.   

    看看:
    http://www.xtxx.jsol.net/ywstudio/software/helphtml/
    里面讲了方法,还有实现这个两个内网通过公网连接的软件。
      

  4.   

    在文档区有详细的NAPT 技术介绍.多动手的收获会很大的.
      

  5.   

    To yingle2000(音乐天堂) :
    里面好像没有讲怎么做吧,只是一个软件介绍。这样的软件网上也并不少。我在这个社区提问——VB 网络编程,是希望自己编程来实现这样的软件,而不是问哪个软件的操作方法。
      

  6.   

    你看这个,这个是net转换的原理,只是写了vc的实现,vb的实现和他是一样的,我就是看明白她的原理写出了一个小例子,并且测试通过
      

  7.   

    http://blog.csdn.net/bluestar/archive/2004/02/02/6035.aspx
      

  8.   

    老大,请看这里http://community.csdn.net/Expert/topic/3865/3865195.xml?temp=.7208673能否先帮我解决这个问题:【问】为何同一个UDP连接多个端口后,发回的消息都只送到第一个连接?这个不解决,那本问题无法继续啊,谢谢啦 :)
      

  9.   

    用UDP协议。
    A --》S    服务器登记A的IP,PORT,返回B的IP,PORT。向B返回A的IP,PORT(如果B登陆了)
    B —》S    服务器登记B的IP,PORT,返回A的IP,PORT。向A返回B的IP,PORT(如果A登陆了)
    A,B就可以用它们公网中对应的IP,PORT 通信了。QQ就是这样的。
      

  10.   

    用TCP的话,因为一般内网,映射端口是临时的,A——》S断开后,A的端口就变了。
    用UDP不用连接不用断开,就不会变,只要你定时向外发送信息,保持你的端口不变。
      

  11.   

    这个端口保持的时间,听说很短(1~2秒?)
    那就是说,当A登陆后,在B还没有登陆前,要不断的发消息给服务器?还是服务器发给A?