Javascript WebSocket未连接
我有一个WebSocket服务器,我正试图使,我不明白为什么它不连接 html(客户端):Javascript WebSocket未连接,javascript,node.js,websocket,Javascript,Node.js,Websocket,我有一个WebSocket服务器,我正试图使,我不明白为什么它不连接 html(客户端): websocket客户端需要连接到websocket服务器。虽然所有webSocket连接都以普通http请求开始,但服务器必须“升级”到webSocket协议的连接,并且服务器必须能够使用该webSocket协议。如果没有,客户端将断开连接,因为服务器无法支持正确的协议 NPM中有多个用于node.js的websocket服务器库。选择其中一个并将其添加到服务器。如果您的服务器还打算用作常规http服务
websocket客户端需要连接到websocket服务器。虽然所有webSocket连接都以普通http请求开始,但服务器必须“升级”到webSocket协议的连接,并且服务器必须能够使用该webSocket协议。如果没有,客户端将断开连接,因为服务器无法支持正确的协议 NPM中有多个用于node.js的websocket服务器库。选择其中一个并将其添加到服务器。如果您的服务器还打算用作常规http服务器,则可以与websocket服务器共享同一个http服务器。webSocket服务器代码将检查每个传入的请求,并从中挑选出那些表示webSocket连接启动的请求,然后从那里接管它们 为了让您了解webSocket服务器必须做什么,您可以看到以下内容。我不是建议您自己编写(在协议细节上花费太多时间),但这肯定可以解释为什么普通http服务器不足以支持webSocket连接
<p id="status">Connecting...</p>
<input id="message" />
<button id="submit">Send</button>
<script>
var s = new WebSocket("wss://StarliteServer.cs641311.repl.run:8000", ["soap", "wamp"]);
s.onopen = function() {
document.getElementById("status").innerHTML="Connected";
}
document.getElementById("submit").addEventListener("click", function() {
s.send(document.getElementById("message").value);
});
s.onmessage = function(e) {
alert(e.data);
}
s.onclose = function(e) {
document.getElementById("status").innerHTML = "ERROR: "+e.code
}
</script>
var http = require('http');
http.createServer(function(req, res) {
req.onopen = function() {
console.log("OPENING CONNECTION");
res.writeHead(200);
}
req.on('data', function(e) {
res.write(e);
});
req.on('close', function() {
console.log('CONNECTION CLOSED');
});
}).listen(8000);