我正在创建一个简单的聊天客户端,它将使用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框架吗?如果是,为什么?如果不是,为什么?
由于
答案 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);
});
});