Использование socket.io из модуля

мойsio = require('socket.io').listen(app) находится в моем файле server.js, но я вызываю метод в библиотеке, который хотел бы отправить сообщение клиенту ... скажемapi.user.pushToClient()

Как я могу получить доступsio.sockets оттуда? Возможно, моя структура неверна?

Folder structure:

server.js

api

|--user.js

|--another.js

 supertopi06 апр. 2012 г., 14:16
Должны ли вы объявить sio как переменную? Как JavaScript обрабатывает sio без ключевого слова var?

Ответы на вопрос(2)

Решение Вопроса

вserver.js добавить эту строку

module.exports.sio = sio; 

вapi/user.js

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

Или я неправильно понял вопрос?

 Mike08 апр. 2012 г., 01:15
Поэтому, когда я использую SIO. это передается по ссылке из server.js?
 Mike06 апр. 2012 г., 19:30
Это может быть то, что я искал, я попробую это, когда у меня будет шанс. Благодарю.

Из этого вопроса я понял, что вы хотите знать, как использовать socketIO с модулем узла. Исходя из моего понимания, вы можете использовать его, как показано ниже: Сначала установите модуль socketIO локально с помощью npm, запустив & quot; $ npm установить socket.io & quot; Команда для Windows.

Добавьте скрипт на свою 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.
    }
}

Ваш ответ на вопрос