2024-07-01 22:29:59 | 我爱编程网
可以 但是会困难很多 就像qq这样的软件
首先就是把ttl设的大一些 这样保证过路由的时候不会把你的包扔了
其次就是一个NAT的问题,如果是你和固定ip的服务器连接还好,就怕是两个客户端点点互联,对等体的连接是有些困难的,因为所有的pc几乎都在NAT后面
比如你是192.168.0.1 而我是192.168.0.2 可是杂俩根本就不在一个网段,
这两个地址都是只是NAT后面的保留地址
过NAT的时候,可能你实际是123.1.1.1 而我是203.1.1.1 这次是这样 下次还会变 DHCP么我爱编程网
两个进程要想通信,就得知道彼此的真实socket
两个程序怎么知道彼此的ip呢?
这就需要一个固定ip的第三点(中心点服务器)
你和我上来都进行对固定ip的第三点连接 第三点就会拿到你和我的NAT前面的真实地址
然后第三方 把我的真实地址告诉你 把你的告诉我
这样咱们就可进行点对点了
这就像我不知道你的电话,你也不知道我的电话,咱们怎么联系
只能通过路人甲,这个路人甲的电话是固定且已知的,咱们都先给路人甲打电话,然后他手机就能显示你的和我的号码了,他再把彼此的号码发给对方,双方就知道对方的号码了,就可以互相打电话了
比如TCP与UDP的打洞和穿洞 就是这种NAT穿越技术 这是P2P的基础 也是真实网络环境下点点互联的一个比较普遍的方案
这个问题决定于路由器提供哪些访问方式(不考虑修改路由器内部系统的前提下)。
通常路由器提供的访问方式有web\ssh\telnet三种方式
ssh和telnet都是命令行模式输入指令,web则是通过uri传输指令
1、通过命令行。首先,java可以通过ssh模块或者普通的tcp做到访问路由器。然后携带用户密码通过路由器的认证。接下来,就是看路由器内部的命令行指令了。这种方法类似于用java写一个简单的tcp client端,并将特定的字符串通过tcp连接传给路由器。
2、通过web。假如你可以通过网页修改路由器的ACL,那么你用java同样可以。java有现成的模块模拟浏览器,浏览器的模式只不过是访问路由器的一个URL,然后post一串参数。你用java可以同样做到。
这两种模式都可以。后面在我看来更简单
我爱编程网(https://www.52biancheng.com)小编还为大家带来用浏览器进入cisco路由器,出现下图,java开启是什么意思?的相关内容。
这个是ASDM界面加载界面,cisco路由器的ASDM是在java环境下运行的,所以你在java的官网上下载安装上java软件,就可以运行cisco asdm了。(前提是你在路由器上开放http server了,cisco默认是没有开启asdm的)。
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-10 15:19:48
2025-01-28 17:58:32
2025-02-12 03:21:37
2024-11-22 05:08:01