2014-01-22 92 views
0

我正在創建一個簡單的聊天客戶端,它將使用Socket.io websockets連接到一個Node.js服務器。我應該使用Express作爲我的簡單聊天應用程序嗎?

我的客戶的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

的opinon問題,你」 d在reddit上更好。 – mpm

+1

@mpm我敢打賭,如果Express(*,*幾乎總是在'socket.io'例子中提到)在這裏是必要的,那麼這是一個正確的問題。 – robertklep

回答

0

沒有,在這種情況下,因爲你不使用它:) socket.io可以不帶任何明示以及運行你不需要快遞,:基於

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); 
    }); 
}); 
相關問題