ok?

解决方案 »

  1.   

    补充:我现在是通过LAN用SYGATE上网,我想穿过网关和外网通信,说说原理和实现代码,详细一些
    谢谢。
      

  2.   

    同普通的TCP步骤
    你可以发起connect去连外部主机,但外部主机无法发起来连内网的你
      

  3.   

    今天下午刚搞定两个局域网的PC通信,(不用管通过什么方式上网)跟内网通信一样的,没特别之处,我用的是UDP。
      

  4.   

    UpnP可以穿透防火墙和外网通信
      

  5.   

    TCP是端系统间的通信协议,网内通信跟网际通信对它来说没什么区别,该怎么做还怎么做是了。使用TCP的源代码网上一找一大堆。
      

  6.   

    arvid_gs(west) :按照一个LAN内的平常做法,什么都不加,就能和外网通信,你说梦话呢,真TMD服了你这样的中国人,别TMD的在这灌水玩,有能力就说,如果保守的话,就别在这出现
      

  7.   

    我在公司通过win2000本身提供的Internet共享上网,网关地址192.168.0.1,网关使用ADSL拨号上网。我自己的计算机是192.168.0.20,直接使用TCP与外网建立连接,没有任何问题。(我连接家里的计算机,小区宽带219.237.*.*。)楼主,希望你提问题能够虚心点,火气不要那么大,毕竟在这里没有人有义务回答你的问题。
    还有,影响连接的问题有很多,只能具体情况具体分析。
      

  8.   

    shootingstars(有容乃大,无欲则刚) ,外部计算机让问你公司里的计算机用的IP是192.168.0.20吗?
      

  9.   

    WwpSoft(阿雕)
    shootingstars(有容乃大,无欲则刚) ,外部计算机让问你公司里的计算机用的IP是192.168.0.20吗?
    ---------------------------------------------什么意思?
      

  10.   

    内网和外网是通过nat映射进行通讯的,但是这个在路由器里就实现了(硬件实现),我们做程序根本就不用考虑是内网还是外网。无论是tcp还是udp都一样,但是你要在内网开服务端,从外网主动连,这是程序没发实现的,可以通过nat映射,把上网服务器的某个端口映射给内网中某台机器(这要看你的路由器是否支持)。这样在外网连接的时候,只要写上上网服务器的ip,和映射的端口就可以直接连到内网某台机器上开的服务程序了。
      

  11.   

    http://expert.csdn.net/Expert/topic/2657/2657890.xml?temp=.6744043
      

  12.   

    我现在发现了,我在LAN中的机器连接外网的机器没有问题,但是外网想连接我就不行,外网不知道我的内网IP所导致,我怎样两段都能通信,那个环节可以使外网的机器找到内网和他相连接的机器
    那位还能详细的说说,谢谢。
      

  13.   

    我在补充一下:我连接的外网可以是指有共网IP的一台机器,如果还想和这台机器内部的LAN通信的话,就肯定不行。
      

  14.   

    VCSQLVB(九龙.君威) :给你发的消息你受到了吗 
      

  15.   

    VCSQLVB(九龙.君威
        问你一个问题,那个环节可以使外网的机器找到内网和他相连接的机器,怎么实现的,什么原理
      

  16.   

    chy317chy(lulu   说的很有道理,我的问题就在于向内网的某台机器发送数据,但不知道具体的实现细节,还请指教.
      

  17.   

    就我所知,两个内网通信有两种方式。
    一:通过一个公网IP介绍两个内网计算机互相通信,但是似乎只能使用UDP。
    二:在路由器上设置一个端口NAT到内网IP的一个端口。我没有做过实验,在这里只是纸上谈兵。不知道 VCSQLVB(九龙.君威) 用的是什么方法实现的?
      

  18.   

    VCSQLVB(九龙.君威:
                      现在不只我一个人想知道你的做法了
      

  19.   

    我说清楚了呀,有个公网的IP,内网A的一台发数据报到公网IP,公网IP记下A的真实IP,同理记下B的真实IP,公网IP的电脑把A和B的真实IP和端口发送给B和A,A或者B用已经有的B或者A的IP和端口就可以发送数据吧给对方了。
      

  20.   

    VCSQLVB(九龙.君威) :
    你做的那个程序,我真不感说是两了LAN之间的通信,但还是得谢谢你的热心
      

  21.   

    VCSQLVB(九龙.君威) :你实现端口映射了吗
      

  22.   

    这个问题有什么好争的:
    1:A机器在内网里,IP是192.168.1.19,网关192.168.1.1。 B机器也在内网里,IP是192.168.0.111,192.168.0.1。如果不做端口映射,A无法连接B,B也无法连接A2:A机器在内网里,IP是192.168.1.19,网关192.168.1.1。 B机器也在内网里,IP是192.168.0.111,192.168.0.1。如果A机器所在内网的网关上做了NAT,在这种情况下,只要对A机器的端口做了NAT设置,那么B机器可以主动去连接A机器。但是A无法去主动连接B3:反之,A能主动连接B,B不能直接连接A。4:双方的网关上都做了NAT的话,那么就双方都能主动连接。
      

  23.   

    VCSQLVB(九龙.君威)所说的应该只适合udp,应该不可能适合tcp。要实现两局域网间的tcp连接,估计和UPnP标准,微软的 NAT Traversal api包相关,我也正想研究一下这个东西,试验环境还没有建起来,郁闷ing。楼主的“素质还是有问题”实在有些令人感到不爽!!!实际上最终受到伤害的是你自己!希望大家出言友好,这也是素质问题吧?
      

  24.   

    msn的文件传输是怎样实现的??
    我明天查一查。
      

  25.   

    在支持UPNP的NAT设备后面就可以直接建立连接了
      

  26.   

    如果你是由内部向外部global地址连接,中间经过不经过 gateway没区别啊, TCP不需要知道这些吧.
      

  27.   

    微软的 NAT Traversal api提供了com interface和文档,还有例子,你自己去下载研究研究吧,微软的最新sdk包里面有
      

  28.   

    那就是两局域网通过广域网通信了……自已没说清楚,还怪别人。一般udp可通过nat通信,tcp不知道