Cordova在cordova运行浏览器上添加端口到外部链接
我正在用node.js,socket.io和cordova构build一个testing聊天应用程序客户端。 执行cordova run browser
器打开http:// localhost:8000 。 在我的cordova聊天客户端应用程序的index.js我有代码连接到我的服务器端socket.io:
var socket = io.connect('https://node-socket.io-address/'); socket.on('connect', function() {.............
问题是我收到这样的错误:
所以你可以看到有一个端口(8000)添加到链接。 当我在Android设备上运行应用程序(cordova run android)时,这个问题不会发生。
为什么cordova将外部链接添加到端口? 可以禁用端口添加到cordova运行浏览器的外部链接 ?
这不是cordova添加端口到您的URL,它是socket.io客户端, 在这里 :
this.port = opts.port || (global.location && location.port ? location.port : (this.secure ? 443 : 80));
端口未定义时,默认为应用端口。 这可能是socket.io中的一个错误,因为只有在同一个节点上托pipe网页和服务器时才有意义。 你的问题源于这样一个事实,它是为你的应用程序服务的cordova(在localhost:8000上),而socket.io假定websocket将在同一个端口上。
为了避免它,你应该添加端口URL或opt
对象。