使用模块中的socket.io

时间:2012-04-06 10:54:09

标签: node.js socket.io

我的sio = require('socket.io').listen(app)位于我的server.js文件中,但是我在库中调用了一个方法,希望将消息发送到客户端...说api.user.pushToClient()

我如何从那里访问sio.sockets?也许我的结构不正确?

文件夹结构:

server.js

api

|--user.js

|--another.js

2 个答案:

答案 0 :(得分:11)

server.js中的

附加此行

module.exports.sio = sio; 
api/user.js

中的

sio = require('../server').sio;
sio.sockets.on ...

或者我误解了这个问题?

答案 1 :(得分:-1)

我从这个问题中理解的是你想知道如何将socketIO与节点模块一起使用。根据我的理解,你可以使用它如下: 首先使用npm通过运行“$ npm install socket.io”命令在本地安装socketIO模块。

将脚本添加到HTML页面:

<script src="/socket.io/socket.io.js"></script>

现在添加var io = require('socket.io');到您要使用它的服务器或js文件。

然后,您可以让服务器启动代码侦听该服务器,并在连接时执行任何事件的选项。

var listener = io.listen(server);
listener.sockets.on('connection', function(socket) {
    socket.on('locationClick', function(data) {
        // perform the function on receving locationClick event.
    }
}