2012-04-06 17 views
5

sio = require('socket.io').listen(app)是我server.js文件socket.io使用,但我打電話在想推一個消息給客戶端庫的方法......說api.user.pushToClient()從模塊

如何我能從那裏訪問sio.sockets嗎?也許我的結構不正確?

文件夾結構:

server.js

api

|--user.js

|--another.js

+0

您是否應該將sio聲明爲變量? JavaScript如何在不使用var關鍵字的情況下處理sio? – supertopi 2012-04-06 12:16:10

回答

11

server.js追加這一行

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

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

或者

我誤解了問題?

+0

這可能是我一直在尋找的東西,當我有機會時,我會嘗試一下。謝謝。 – Mike 2012-04-06 17:30:15

+2

所以當我使用sio。它是從server.js引用傳遞的嗎? – Mike 2012-04-07 23:15:19

-1

我從這個問題中瞭解到的是你想知道如何使用socketIO和節點模塊。基於我的理解,你可以使用它如下: 首先通過運行「$ npm install socket」在npm本地安裝socketIO模塊。 io「窗口命令。

添加腳本到你的HTML頁面:

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

現在添加VAR IO =需要( '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. 
    } 
}