我应该使用Express进行简单的聊天应用程序吗?

时间:2014-01-22 11:43:39

标签: node.js express socket.io

我正在创建一个简单的聊天客户端,它将使用Socket.io websockets连接到Node.js服务器。

我的客户端js代码(简化)如下所示:

socket = io.connect('http://localhost:3000');
socket.emit('send message', 'Hi to all');

我的服务器js代码(简化)如下所示:

var express = require('express');
var app = express();
var server = require('http').createServer(app).listen(7000);
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(client){
    client.on('send message', function(msg){
        // Code for saving the message in mysql database is ommited
        client.broadcast.emit('new message', msg);
    });
 });

每条消息在广播给其他客户端之前都会保存到mysql数据库中。

如您所见,我的服务器js代码使用Express。 Express真的需要我的需求吗?

我读到Express是一个框架,用于静态文件服务器,路由管理,cookie解析器,表单编码和JSON编码的主体解析器,日志记录,视图呈现和其他好东西。我不需要这些功能(或者我可能但我还不知道)。

互联网上的许多node.js + sockets.io示例使用Express,所以我不确定我是否真的需要它。我应该使用Express框架吗?如果是,为什么?如果不是,为什么?

由于

1 个答案:

答案 0 :(得分:0)

不,在这种情况下你不需要Express,因为你没有使用它:) socket.io也可以在没有Express的情况下运行:

var io = require('socket.io').listen(7000);

io.sockets.on('connection', function(client){
  client.on('send message', function(msg){
    // Code for saving the message in mysql database is ommited
    client.broadcast.emit('new message', msg);
  });
});