我用 NodeJS 创建了一个应用程序,我正在使用 ws 模块。如果我在 localhost 中测试应用程序,它可以工作并且连接 websockets 没有任何问题。现在我已将应用程序上传到 Openshift,当我尝试从客户端访问时,它返回无法建立与 websocket 的连接。
如果我在我的应用程序的腻子中做一个尾巴,我会收到以下消息:调试:这种类型的响应不能有正文。忽略传递给 end() 的数据。
我在服务器中的代码是:
#!/bin/env node
//Openshift variables
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "192.168.69.42";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
//NodeJS require modules
var Enum = require('enum');
var WebSocketServer = require('ws').Server
wss = new WebSocketServer({host:ipaddress, port:port});
var fs = require('fs');
wss.on('connection', function(ws) {
console.log((new Date()) + ' Connection from origin: ' + ws._socket.remoteAddress);
});
console.log((new Date()) + " Server is listening on: " + ipaddress + ':' port);
在客户端:
var ws = new WebSocket("ws://192.168.69.42:8080/");
ws.onopen = function() {
console.log("Connected.");
ws.send("This is the client speaking.");
};