Node.js 如何在WebSocket中提供初始页面

Node.js 如何在WebSocket中提供初始页面,node.js,websocket,Node.js,Websocket,好的,我的问题是关于websockets api…而不是socket.ionpm安装websocket 这是我的问题 我已经编写了一个小websockets服务器,它可以接收消息,解释文本消息,并用一点额外的文本将其发送回去。很简单 该消息来自index.html文件,其中写入了javascript…脚本。一切正常。节点服务器在我的机器上本地运行,当我想要测试它时,我只需启动服务器,然后双击运行脚本的index.html文件,该文件将启动与节点的新连接并完成 我想要的是能够将我的浏览器导航到“l

好的,我的问题是关于websockets api…而不是socket.io<代码>npm安装websocket

这是我的问题

我已经编写了一个小websockets服务器,它可以接收消息,解释文本消息,并用一点额外的文本将其发送回去。很简单

该消息来自index.html文件,其中写入了javascript…脚本。一切正常。节点服务器在我的机器上本地运行,当我想要测试它时,我只需启动服务器,然后双击运行脚本的index.html文件,该文件将启动与节点的新连接并完成

我想要的是能够将我的浏览器导航到“localhost”,服务器通过向客户端提供index.html文件启动,该文件反过来将与服务器建立连接

如果需要连接才能获取index.html文件,用户如何通过导航到url(在我的例子中是localhost)来获取index.html文件。在Socket.io中,如下所示:

app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res) {});
如果我的问题还不清楚,这里需要重新编写:用户需要能够转到我的url(localhost,因为节点在本地运行)并接收index.html。与此类似,对根目录的所有请求都会收到一个公共目录中的index.html文件。

您正在使用的文件包括如何将其与Express一起使用的说明。它看起来是为Express 2 API编写的,因此如果您使用的是Express 3,则必须:

var app = require('express')()
  , http = require('http')
  , server = http.createServer(app)
  , WebSocketServer = require('websocket').server;

var wsServer = new WebSocketServer({
    httpServer: server
});

server.listen(80);

你真的应该指定语言。这个问题更直接地针对那些确实知道什么是NodeJ和websockets api的人。然后你应该用“node.js”来标记这个问题。我已经这样做了。请注意,在您提供的示例代码(
app.use
app.get(…)
)中,您实际使用的是socket.io,而不是socket.io。哦,好的,我明白了。所以试图将两者分开是个坏主意。我想我并没有真正考虑让express和websocket协调工作。我感谢你,乔希。