关于javaSocket外网通信的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于javaSocket外网通信的问题相关的知识,希望对你有一定的参考价值。
网络环境:内网局域网通过路由器连接到外网。
1、本地电脑cmd可以ping通外网,如百度主页。
2、浏览器访问百度主页是正常的。
问题:
1、电脑能ping通一个ip,是不是说明本机与这个ip能够建立连接?
2、既然能使用浏览器或者cmd访问到外网ip,为何程序无法识别外网ip?
3、如果问题2中是要改什么路由器nat转发设置之类的,我想问问,为何我玩游戏,登录qq,看网页,都是要与外网服务器建立连接,为何又不用改设置就能实现通信?
求各种人士解答,答不完整没关系
不能与百度通信的问题我已经搞定。
现在的问题是:
给在另一个局域网的外网ip上发送请求不能建立连接。查看了对方的网络映射,都通过了路由器,是不是对方的路由器屏蔽了我的请求,怎样才能让我的请求发到另一个局域网的某个电脑上
解决方法就是做路由器端口映射。让路由器吧指定端口上的连接全部都转发到指定的内网电脑上。这样内网的电脑才能对连接做出响应。追问
不设置路由端口有办法解决么?
追答有一台公网IP的电脑做服务器, 然后进行穿洞
参考技术A 如果你请求的电脑是在另一个局域网,是需要在那个局域网的路由器设置端口映射,将指定端口的请求映射到具体的内网ip,注意80端口是不行,这个好像是被运营商给屏蔽了。追问更改路由转发的方法我已经知道了可以,但是和我的需求不符合。我是想做一个桌面程序,实现ip和端口直接通信。但是受到路由的制约无法实现了。我不可能让人去改路由转发规则。
有没有什么其他技术实现通信?类似teamviewer的通信手段
teamviewer都是有分配ID的,应该是有借助服务器帮忙转发,实际是内网--公网--内网的形式,因此可以往这个方面思考!
追问我了解了下打洞技术,貌似teamviewer是使用的打洞来通信的,在网上找了下,没有找到关于打洞技术的实际性的东西
关于svn外网访问的问题-搭建成功
昨天聊到了svn外网问题。今天,无限查资料,虽然眼累了一些,不过最终实现。还是开心了一下!
背景:本机设置svn服务器,搭建代码库并开设外网 供不再同一地点的他人来访问
上图:
1.svn服务器端 搭建成功
2.下载安装 花生壳动态域名 客户端,注册帐号并登陆,会有一个免费的域名,点击域名打开域名诊断 出现:
注:此处应该显示 已激活 (当然也可以去cmd中ping一下,还不一定ping筒,因为我就时灵时不灵,留着后续说把!)
3.利用浏览器 登录路由器设置 如下:
如图 登录花生壳帐号!
4.在路由设置中打开虚拟服务器
5.哦 对了 别忘了ip跟本机的mac进行绑定, 这是为了动态分配ip的时候发生变化 因其麻烦
成功:
以上是关于关于javaSocket外网通信的问题的主要内容,如果未能解决你的问题,请参考以下文章