【问题标题】:Web Socket Server Doesn't Work On Ubuntu 12.04 Terminal With Node Command (node server.js)Web Socket 服务器在 Ubuntu 12.04 终端上无法使用 Node 命令 (node server.js)
【发布时间】:2014-08-21 22:29:48
【问题描述】:

我想在 ubuntu 终端上使用 node 命令运行 web socket 服务器。我的网络套接字服务器在下面-->

var WebSocketServer = require('websocket').server;
//var WebSocketServer = require('websocket');
var http = require('http');
var clients = [];

var server = http.createServer(function(request, response) {
    // process HTTP request. Since we're writing just WebSockets server
    // we don't have to implement anything.
});
server.listen(1337, function() {
  console.log((new Date()) + " Server is listening on port 1337");
});

// create the server
wsServer = new WebSocketServer({
    httpServer: server
});

function sendCallback(err) {
    if (err) console.error("send() error: " + err);
}

// This callback function is called every time someone
// tries to connect to the WebSocket server
wsServer.on('request', function(request) {
    console.log((new Date()) + ' Connection from origin ' + request.origin + '.');
    var connection = request.accept(null, request.origin);
    console.log(' Connection ' + connection.remoteAddress);
    clients.push(connection);

    // This is the most important callback for us, we'll handle
    // all messages from users here.
    connection.on('message', function(message) {
        if (message.type === 'utf8') {
            // process WebSocket message
            console.log((new Date()) + ' Received Message ' + message.utf8Data);
            // broadcast message to all connected clients
            clients.forEach(function (outputConnection) {
                if (outputConnection != connection) {
                  outputConnection.send(message.utf8Data, sendCallback);
                }
            });
        }
    });

    connection.on('close', function(connection) {
        // close user connection
        console.log((new Date()) + " Peer disconnected.");        
    });
});

但是当我输入 'node server.js' 命令在 1337 端口上运行服务器时,出现如下错误-->

module.js:340
    throw err;
          ^
Error: Cannot find module 'websocket'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/www/example_directory/server.js:1:85)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

我为 node.js 安装了所有的包,但是 node 命令在我的终端上的 web 套接字服务器上不起作用..

【问题讨论】:

    标签: node.js ubuntu websocket webserver webrtc


    【解决方案1】:

    websocket 是一个 npm 模块,您是否尝试将其安装到您的项目中:

    npm install websocket
    

    第一个?

    【讨论】:

    • 这个命令不起作用。'本机代码编译失败!! ' 发生错误。
    • 我在我的项目目录上使用了这个命令,然后服务器运行了。谢谢。
    猜你喜欢
    • 2017-03-14
    • 2017-12-04
    • 2017-03-22
    • 2012-10-15
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多