在本地网络中使用websocket-连接时遇到了一些问题。
场景:
我为我的笔记本电脑(Win7)编写了一个服务,该服务在端口2014上打开websocket-server。因为windows 7默认未启用websocket,所以我使用了supersocket库(http://www.supersocket.net/)。
对于客户端,我编写了一个基于sencha touch和Phonegap的android应用程序。为了使低于4.4版本的android设备支持websocket,我集成了phonegap websocket插件。
目的是在android设备和笔记本电脑之间打开websocket连接以通过android应用程序控制笔记本电脑。两个设备都是同一局域网的成员。
问题:
在安装了两个应用程序(windows服务和android应用程序)后,我试图从笔记本电脑上的服务连接android设备。第一步是在客户端上打开连接:
var connection = new WebSocket('ws://192.168.178.21:2014');
但是,在我的Windows服务的事件日志中,没有记录任何成功的连接。
之后,我打开了我的笔记本电脑的浏览器并测试了相同的代码-成功了。客户端和服务器可以互相通信。
所以我测试了我的Android设备上的WebSocket支持:将WebSocket URL更改为
var connection = new WebSocket('ws://echo.websocket.org');
并且可以连接到服务器 -> 安卓Websockets没有问题。
第三步是禁用我的防火墙并使用Wireshark检查连接:
截图:http://www.directupload.net/file/d/3710/y9t79npy_png.htm
192.168.178.21 -> 笔记本电脑IP
192.168.178.23 -> 安卓设备IP
因此,数据包似乎到达了我的笔记本电脑,但服务却没有收到。还尝试使用安全的wss:// 协议,但没有成功。
不知道有什么其他想法了。很高兴能得到一些帮助:)