【发布时间】:2014-01-22 11:43:39
【问题描述】:
我正在创建一个简单的聊天客户端,它将使用 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 框架吗?如果是,为什么?如果不是,为什么?
谢谢
【问题讨论】:
-
基于意见的问题,你最好上reddit。
-
@mpm 我敢打赌,这里是否需要 Express(
socket.io示例中几乎总是提到 )是一个正确的问题。