在Node.js上显示带有socket.io和Express.js的console.log消息

时间:2016-05-09 17:44:54

标签: node.js express socket.io

当有人连接到应用程序时,我试图查看console.log消息,但没有来自套接字的结果。以下是/app.js/bin/www个文件的内容:

  

只是一种在控制台上返回消息以检查套接字是否正常工作的方法

app.js

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var mongoose = require('mongoose');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var session = require('express-session');
var socket = require('socket.io');
var app = express();
// socket.io
var io = socket();
app.io = io;
// var for routes
var index = require('./routes/index');
var users = require('./routes/users');
var projects = require('./routes/projects');
var messages = require('./routes/messages');
//socket message
io.on( "connection", function(socket){
    console.log( "A user connected" );
});

WWW

var app = require('../app');
var debug = require('debug')('archiers:server');
var http = require('http');

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);


/**
 * Create HTTP server.
 */
var server = http.createServer(app);

// socket.io

var io = app.io;
io.attach(server);

1 个答案:

答案 0 :(得分:-2)

您似乎正在使用一些示例代码(而不是自己编写所有代码)。

您使用的示例代码比早期实现目标所需的时间要长得多。

  1. 有一件事你的app.js不是"听"在任何端口号上 - 所以它不可能连接工作。

  2. 我可以看到你的www js文件必须导致process.env出错,因为浏览器没有这样的变量。

  3. 由于您未在浏览器控制台中收到错误,这意味着HTML文件一定存在问题(目前尚未发布。

  4. 我预计您使用的示例代码还有其他问题,我还没有看到。

  5. 由于您还不了解代码的详细信息,我建议您重新开始。

    您需要从较小的项目开始。

    在互联网上搜索一个非常小的io.js示例,当您下载并运行 时,

    这样会更容易。