0
我在節點中構建應用程序,使用express來簡化事件和socket.io以進行套接字操作。面向對象風格的應用程序與express.js和socket.io
所以,當我寫我的代碼時,我意識到它的工作原理,但並不是最好的和優雅的解決方案。
我想要做的唯一一件事就是換插座事件的所有代碼,然後在多個頁面請求重用,所以:
app.js
var express = require('express')
, io;
var app = express()
, PORT = 7777;
io = require('socket.io').listen(app.listen(PORT));
app.get("/", function (req, res) {
io.socket.on('connection', function (socket) {
socket.on('user', function() {
});
socket.on('message', function() {
});
socket.on('getConversation', function (socket) {
});
});
res.render('index');
});
但是如果我想將相同的方法分配給/foo
和/bar
文件,會發生什麼情況?
即我需要以模塊化或面向對象的方式獲取它,儘可能。
有這樣一種模式嗎?
插座通常從路由分隔的,這是沒有意義的有事件監聽器監聽的路線內監聽HTTP連接的WebSocket連接。 – adeneo
那麼,你能舉個例子嗎? –
不,不是真的,因爲它不需要,websockets有自己的連接,所以你不應該把這些連接的事件處理程序放在一個正在等待HTTP連接的事件處理程序中。只需將套接字放在app.get – adeneo