局域网上有机器A 、路由器B和C,路由器B底下有机器D,路由器C底下有机器E.
A做服务器,D、E已经与A通过socket连接。
D、E如何通过socket进行点对点通讯呢?

解决方案 »

  1.   

    D、E已经与A通过socket连接。
    ------------------------------
    D,E直接socket连接,没什么区别啊
      

  2.   

    主要是为了让D、E进行点对点传输文件,减轻服务器负担。
    --------------------------------
    你开始说的并不清楚,不过我现在明白你的意思了.
    需要A中转IP地址,然后D、E根据次IP直接建立socket连接
      

  3.   

    通过A,D和E交换地址和端口就可以了那样的话,D/E一方要做侦听(服务器),比如说1:D取得E的地址是XX.XXX.XXX.XXX
    1:D开始侦听8001端口
    2:D告诉E,D的IP是XX.XXX.XXX.XXX,端口是8001
    3:D发现不是E通过SOCKET联结,拒绝接受
    4:E通过得知的D的地址,连接D的8001端口
    5:D和E连接成功
    6:如果D不再需要和其它机器通过其它端口连接,则D停止侦听
    7:D和E开始传递文件
      

  4.   

    只要你路由的机器的配置没问题,用Socket,指定IP就可以吧