一个复杂的网络通信问题,请网络高手现身。(100分)

  • 主题发起人 主题发起人 delphi009
  • 开始时间 开始时间
D

delphi009

Unregistered / Unconfirmed
GUEST, unregistred user!
环境介绍:
现在在广域网上有两个网络A和B,其中A网络的网关是210.41.127.33,在A网络中,有
一台机器它的内部IP是192.168.0.1,在B网络中,B网络的网关是202.14.125.32,B网络中
也有一台机器它的内部IP是192.168.0.2,现在在B网络中的IP是192.168.0.2的机器上有一个
服务程序(server),在A网络中的ip是192.168.0.1上有一个客户端程序(client),请问
我至少应该在B网络中IP为192.168.0.2的机器的哪些地址信息(除它的网关的IP地址,服务程序的端口,机器的MAC以外)
我们的A网络中的192.168.0.1机器上的客户程序才能连接到B网络中的198.168.0.2机器上?
怎样连接?(类似于OICQ的网络连接问题)。
我的信息是:JZY@SILICT.EDU.CN。
 
要通过SOCK5代理。在服务器上有代理,用IDTCLIENT 控件设置其SOCKSINFO
 
可以说的更详细点吗?
例如我现在有一台服务器ip是201.32.14.5在这个服务器上一一个服务程序,A和B网络上的
那两台机器都登陆到了这台服务器上,为了让A网络上的机器能够访问到B网络上的程序。
我在服务器(201.32.14.5)上应该记录下登陆到它上的机器的哪些信息,然后我将我已经
记录的B网络上的机器的信息告诉给A网络上的机器,A网络上再的机器根据这些信息于B网络
上的机器进行点对点的连接。
 
如果通过服务器那么只要SOCK号。点点通讯。要告诉A,B网络的内部IP地
址(SOCK的目标IP 上面的192.168.0.1 192.168.0.2)
 
但是我们在传数据的时候,数据是不会通过服务器的。SOCK号只能用于服务器与他的客户机器
的通讯(即上面的192.168.0.1 192.168.0.2)我现在是想让服务器给192.168.0.1一个
192.168.0.2机器的地址信息(例如 它的网关IP(202.14.125.32)、内部IP192.168.0.2)等信息
好让192.168.0.1能通过这些信息直接于192.168.0.2进行通信。
我不知道我上面说的对不对,你有相关的DEMO吗?谢谢
 
同时二个网关要用API编程。而且二个网关上要安装SOCK5代理。
在数据头要和二个网关协商通过才可以的。
192.168.0.1---210.47.127.33---202.14.125.32----192.168.0.2
如果SOCK5需要认证还必须把 ID 和 PASSWORD 打包
 
在两个路由器上添加对方的ip route不就行了吗。
 
那象OICQ软件他们是怎样解决点对点的问题的呢?
 
难道高手都不愿意帮忙吗
 
1.OICQ是通过Udp通讯
QQ1=>192.168.0.1---210.47.127.33=>联众服务器,服务器记下QQ1的地址210.47.127.33,特定端口1
QQ2=>192.168.0.2----202.14.125.32=>联众服务器,服务器记下QQ1的地址202.14.125.32,特定端口2
QQ2只要往210.47.127.33,特定端口1发送数据QQ1就能收到
同样QQ1只要往202.14.125.32,特定端口2发送数据QQ2就能收到
2.如果网关是计算机,那么你可以用代理程序实现,
代理程序安装到202.14.125.32,
192.168.0.1通过tcp连接到202.14.125.32的一个自定义端口(比如8000),那么代理程序有个
tcpserver把接收的内容临时保存用tcpclient转发到192.168.0.2的你的服务器程序的服务端口
当然,udp也可以用这样的代理程序实现,我们正常使用的代理程序是往外代理,我这样的想法往
内代理也是可以实现的.
3.如果网关是路由器就什么都不用考虑了,设置路由表就可以实现的.
以上的是我的个人理解,有的试验过,但并没有实际应用过
 
多人接受答案了。
 
后退
顶部