LuckyFrame环境部署的一次掉坑记
- 2018-05-09 07:45:00
- Seagull 原创
- 6968
最近因为项目移动端自动化的需要,找了一台机器部署一个新的LuckyFrame客户端,把JDK,客户端安装好以后, 再安装了 安卓SDK自带的模拟器 ,再启动客户端的监听,一切正常,客户端程序正常启动6633端口监听,本来以为一切都如想像那般容易。
然而问题来了.......
启动完监听后,服务端死活检测不到客户端的存在,第一反应程序肯定不会有问题,因为同样的程序已经部署N套,那肯定就是网络问题了,接下来排查问题...
1: 从服务端Ping客户端的IP,正常。
2:从服务端telnet客户端的IP 端口,正常。
脑袋冒汗,隐隐的感觉我要在这个问题上耗上一段时间了......
切换到自己电脑本地开发工具上调试代码,查看服务端尝试链接客户端抛出的异常信息
java.rmi.ConnectIOException: Exception creating connection to: 129.214.62.141; nested exception is:
java.net.SocketException: Network is unreachable: connect
这就奇怪了, 129.214.62.141这个IP根本不是我客户端的访问IP,这个IP是哪里来的呢?
打开客户端的命令行窗口,ipconfig再次确认查一下客户端的IP信息,瞬间明白了,这个IP是安装好安卓模拟器后,VirtualBox产生的一个IP。
虽然我在服务端配置客户端IP的时候,配置的IP是客户端本地链接的IP,但是服务端通过RMI接口检测客户端心跳的时候,仍然访问到了VirtualBox的虚拟IP上去了,所以导致检测失败。
原因:
RMI接口对于多网卡的服务注册,必须要指定一个IP, 此问题在V2.6版本会进行优化。如果有多网口的情况,去客户端的配置文件sys_config.properties中找到client.localhost.ip配置项,指定一个客户端的实际IP即可。
临时解决办法:
1:打开网络配置里面的网络适配器,可以看到有两个网络链接。
2:禁用VirtualBox的链接
3:重启下客户端机器,重启完成后,打开客户端6633端口监听程序
4:再次开启VirtualBox网络链接
5:再次尝试服务器检测客户端心跳,是不是已经正常可以访问了呢
本站文章以及相关内容除注明 转贴外,均为本站 原创或 翻译。
如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】
本站原创或是翻译的文章欢迎任何形式转载,但请务必 注明出处以及链接,尊重他人劳动成果,拒绝剽窃从你做起。