For example my idea is:
File1.js
JavaScript
x
6
1
io.sockets.on('connection', function (socket) {
2
socket.on('file1Event', function () {
3
//logic
4
});
5
});
6
File2.js
JavaScript
1
6
1
io.sockets.on('connection', function (socket) {
2
socket.on('file2Event', function () {
3
//logic
4
});
5
});
6
This code is for a node server, will I have problems with this code?
Advertisement
Answer
Nope, just use the same “io” object.
File1.js
JavaScript
1
8
1
exports = module.exports = function(io){
2
io.sockets.on('connection', function (socket) {
3
socket.on('file1Event', function () {
4
console.log('file1Event triggered');
5
});
6
});
7
}
8
File2.js
JavaScript
1
8
1
exports = module.exports = function(io){
2
io.sockets.on('connection', function (socket) {
3
socket.on('file2Event', function () {
4
console.log('file2Event triggered');
5
});
6
});
7
}
8
app.js
JavaScript
1
21
21
1
var app = require('http').createServer(handler)
2
, io = require('socket.io').listen(app)
3
, fs = require('fs')
4
, file1 = require('./File1')(io)
5
, file2 = require('./File2')(io)
6
7
app.listen(3000);
8
9
function handler (req, res) {
10
fs.readFile(__dirname + '/index.html',
11
function (err, data) {
12
if (err) {
13
res.writeHead(500);
14
return res.end('Error loading index.html');
15
}
16
17
res.writeHead(200);
18
res.end(data);
19
});
20
}
21
index.html
JavaScript
1
7
1
<script src="/socket.io/socket.io.js"></script>
2
<script>
3
var socket = io.connect('http://localhost');
4
socket.emit('file1Event'); // 'file1Event triggered' will be shown
5
socket.emit('file2Event'); // 'file2Event triggered' will be shown
6
</script>
7