Cordova 将端口添加到 cordova 运行 浏览器上的外部链接
Cordova adding port to external links on cordova run browser
我正在使用 node.js、socket.io 和 cordova 构建一个测试聊天应用客户端。
执行 cordova run browser
浏览器打开 http://localhost:8000。
在我的 cordova 聊天客户端应用程序的 index.js 中,我获得了连接到服务器端的代码 socket.io:
var socket = io.connect('https://node-socket.io-address/');
socket.on('connect', function() {.............
问题是我收到这种错误:
如您所见,link 添加了一个端口 (8000)。当我在 android 设备 (cordova 运行 android) 上 运行 应用程序时,不会出现此问题。
为什么 cordova 正在向外部 links 添加端口? 可以在 cordova [=] 上禁用向外部 links 添加的端口36=] 浏览器 ?
这不是 cordova 向您的 URL 添加端口,而是 socket.io 客户端,here:
this.port = opts.port || (global.location && location.port ?
location.port :
(this.secure ? 443 : 80));
未定义端口时,默认为应用程序端口。这可能是 socket.io 中的一个错误,因为只有当网页和服务器由同一节点托管时才有意义。您的问题源于这样一个事实,即为您的应用程序提供服务的是 cordova(在 localhost:8000 上)并且 socket.io 假设 websocket 将在同一端口上。
为避免它,您应该将端口添加到 URL 或 opt
ions 对象。
我正在使用 node.js、socket.io 和 cordova 构建一个测试聊天应用客户端。
执行 cordova run browser
浏览器打开 http://localhost:8000。
在我的 cordova 聊天客户端应用程序的 index.js 中,我获得了连接到服务器端的代码 socket.io:
var socket = io.connect('https://node-socket.io-address/');
socket.on('connect', function() {.............
问题是我收到这种错误:
如您所见,link 添加了一个端口 (8000)。当我在 android 设备 (cordova 运行 android) 上 运行 应用程序时,不会出现此问题。
为什么 cordova 正在向外部 links 添加端口? 可以在 cordova [=] 上禁用向外部 links 添加的端口36=] 浏览器 ?
这不是 cordova 向您的 URL 添加端口,而是 socket.io 客户端,here:
this.port = opts.port || (global.location && location.port ?
location.port :
(this.secure ? 443 : 80));
未定义端口时,默认为应用程序端口。这可能是 socket.io 中的一个错误,因为只有当网页和服务器由同一节点托管时才有意义。您的问题源于这样一个事实,即为您的应用程序提供服务的是 cordova(在 localhost:8000 上)并且 socket.io 假设 websocket 将在同一端口上。
为避免它,您应该将端口添加到 URL 或 opt
ions 对象。