gpt4 book ai didi

javascript - Node.js 和 web-socket-js 简单客户端服务器未打开

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:52 25 4
gpt4 key购买 nike

我的 server.js 似乎是正确的..

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "mysite.com");
console.log('Server running at mysite.com:1337/');

我的客户的主要内容如下。

function init() {

// Connect to Web Socket.
// Change host/port here to your own Web Socket server.
ws = new WebSocket("ws://mysite.com:1337");

// Set event handlers.
ws.onopen = function() {
output("onopen");
};

}

如果我去http://www.mysite.com:1337我正确收到Hello World!但是,当我尝试使用客户端连接并在 Fire bug 中进行调试时,我得到以下输出。

[WebSocket] connected
[WebSocket] request header: GET / HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: mysite.com:1337 Origin: http://www.mysite.com Cookie: Sec-WebSocket-Key1: 115 17 p^!x-93 IERc16 7 Sec-WebSocket-Key2: 1 75 7Z i `. 8u $l031 4j9
[WebSocket] sent key3: ±Ôñ<g
[WebSocket] closed

在我有机会做任何事情之前,WebSocket 会自动关闭。谁能解释一下我收到的错误以及您认为我应该做什么?

最佳答案

您已经创建了一个 node.js HTTP 服务器,但您正在尝试将其作为 WebSockets 服务器连接。 WebSockets 协议(protocol)不是普通的套接字,也不是普通的 HTTP 请求。 WebSocket 具有类似 HTTP 的握手,但之后您将拥有一个全双工连接(类似于套接字,但与 HTTP 不同),该连接具有少量消息帧(与普通套接字不同)。

尝试使用Socket.IOnode-websocket-server如果你想创建一个node.js WebSockets服务器。另一方面,如果您想从 Javascript 连接到常规 HTTP 服务器,请使用具有 AJAX 支持的优秀 Javascript 库之一,例如 jQuery .

关于javascript - Node.js 和 web-socket-js 简单客户端服务器未打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5924351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com