5 javascript sockets node.js socket.io
我正在处理超过15个不同的套接字事件,我想管理与这些事件相关的模块中的某些socket.io事件.
例如,我想让一个名为login.js的文件处理login套接字事件,一个名为register.js的文件处理注册套接字事件.
index.js:
socket.on("connection", function (client) {
console.log("Client connected to socket!");
client.on("login", function (data) {
validate(data){
socket.sockets.emit("login_success", data);
}
});
client.on("register", function (data) {
register(data){
socket.sockets.emit("register_success", data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
有没有办法可以放在client.on("register", function (data) { ...一个文件client.on("login", function (data) { ...中,另一个文件中?
Nic*_*lin 14
我通常将各种与客户端相关的功能(我通常将它们称为处理程序)拆分为单独的模块,然后require在任何创建socket.io连接的文件中使用它们.
这是一个示例模块,它导出一个期望传递给socket.io客户端的函数:
/* register-handler.js */
module.exports = function (client) {
// registration related behaviour goes here...
client.on('register', function (data) {
// do stuff
});
};
Run Code Online (Sandbox Code Playgroud)
这是由创建新套接字的文件使用,侦听连接,并将它们传递给处理程序,然后处理程序侦听客户端上的事件.
/* main.js */
// require your handlers
var handleRegister = require('./register-handler');
// .. set up socket.io
socket.on('connection', function (client) {
// register handlers
handleRegister(client);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5515 次 |
| 最近记录: |