[英]Connecting a WebSocket to a WebSocketServer in NodeJS
我有一个简单的新手问题,希望有人可以帮助我:
我有一个NodeJS应用程序和一个HTML页面,上面有一些JavaScript部署在CloudFoundry中。
在app.js服务器端NodeJS代码中,我启动WebSocket服务器,如下所示:
var WebSocket = require('ws');
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({
server: server,
autoAcceptConnections: true
});
wss.on('connection', function (ws) {
ws.on('message', function (message, flags) {
if (flags.binary) {
var value1 = message.readDoubleLE(0);
var value2 = message.readInt16LE(8);
var value3 = message.readInt8(10);
ws.send(message, {
binary: true
});
} else {
if (message == "injest") {
ws.send("requested: " + message);
} else if (message == "something") {
wss.clients[0].send('server side initiated call');
} else {
ws.send("received text: " + message);
}
}
});
});
我可以从客户端JavaScript成功调用此WebSocketServer,例如:
function OnWebSocketConnectionMessage(event) {
alert(event.data);
}
this.m_parent.m_WebsocketConnection = new
WebSocket('wss://MyWebSpace.MySiteURL');
this.m_parent.m_WebsocketConnection.onmessage =
OnWebSocketConnectionMessage;
this.m_parent.m_WebsocketConnection.send(this.m_parent.m_editbox1.value);
这很好。
现在,我尝试从服务器端NoeJS代码中调用此WebSocketServer,如下所示:
var ws = new WebSocket("wss://MyWebSpace.MySiteURL");
if (ws == null) {
res.send("null");
} else {
res.send(ws.readyState.toString());
}
但是我得到的结果为“ 0”,它当然是CONNECTING连接尚未打开。
而且从来没有。 有人可以建议任何帮助吗?
(如果将port:9090(或任何其他端口号)添加到服务器创建参数中,则客户端WebSocket创建失败。
谢谢,米奇。
别担心,
我解决了
米奇
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.