御龙在天变态服:高分求解:网络编程问题(详见内)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/20 08:28:02
A1电脑通过网关A连接上INTERNET,B1电脑通过网关B连接上INTERNET,请问,如何编程让A1能和B1直接通信,条件是不能使用中转服务器,不能在A和B上影射端口。

请高手给出一句话:本案是否可行?惹可行,该怎么做,讲一下原理就成。
可能是我没讲清楚。我在编一个聊天程序,目标是想让都是通过LAN上网的两台电脑能够直接通信。
就像A1是你的电脑,A是你们公司的网关,B1是我这台电脑,B是我们公司的网关。编过网络程序的都知道,要连接一个电脑,需要知道他的IP,但是你在互联网上的IP其实是你的网关的IP,我连接你只能连接到你的网关啊。

请高手认真看一下我的问题,帮我想一个办法。如果我没讲清楚,请给我发消息。这问题一直困扰我N久了。

这要看你的A1和B1是什么样的ip地址了
要是都是公网的就很简单了,直接走tcp或udp都能连上了,如果有硬件条件,更简单的就是在交换机上配个vlan,它们和一个局域网里没什么区别了
如果都是内网ip那么必须做端口映射了
如果两台中有一台是内网,可以写个c/s结构软件,公网的做服务端,可以完成连接但功能上肯定有限制了

根本不用编程,只要在A的网关上加一条路有,指向通往B的网关
同样在B上加一条指向A

你的问题似乎是网吧双线问题吧,如果是A1和 B1都在内网的话虽然网关不同但是还是可以直接通过内网通信的,如果不在一个内网内那就需要在两个网关之间设置路由了,具体方法就是 指定出访ip为指向对方的(A1或B1)访问强制走路由,这样就可以实现互访了。

如果A和B都有公网IP就可以实现了,只需要互相知道对方IP,用Winsock

你可以先再内网上试试!如果可行 再该为外网地址
如果不可行是不是代码有问题?
硬件俺不太清楚

没听懂,你再说详细一点