端口上的NodeJS套接字*和*路径?

Ben*_*esh 5 sockets node.js

我想在一个URI上设置一个基本套接字ws://localhost:1234/mysocket(模仿用Java创建的另一个环境),到目前为止我只能设置它ws://localhost:1234/ 如何才能让它在一个特定的URL上托管而不仅仅是一个主机和港口?

这只是文档中的基本NodeJS套接字:

var net = require('net');

var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});

server.listen(1337, '127.0.0.1'); // <-- not sure what to do here?
Run Code Online (Sandbox Code Playgroud)

我特别不要求涉及Socket.IO的解决方案.

编辑

我觉得我可能真的需要在我的套接字服务器前设置一个代理?但这似乎有点奇怪.

lia*_*mat 8

由于您已经在使用WebSockets,因此您只需使用ws模块:

var http = require('http'),
    WebSocketServer = require('ws').Server;

var server = http.createServer();

var wss = new WebSocketServer({
    server: server,
    path: '/mysocket'
});

wss.on('connection', function (ws) {

    ws.send('echo server');

    ws.on('message', function (message) {
        ws.send(message);
    });

});

server.listen(1234);
Run Code Online (Sandbox Code Playgroud)