Я немного играю с node.js и socket.io.Вот код, который я пишу:
app.get('/play', function (req, res) {
//some code you don't need to see
var gameMessage = io.of('/game'+gameId);
});
Все импортировано правильно.gameId
установлен правильно, а переменная io
правильно инициализирована.При запуске этого кода (при попытке доступа к localhost / play) я получаю эту ошибку:
TypeError: Converting circular structure to JSON
at Object.stringify (native)
at Array.<anonymous> (/path/to/my/game/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:74:31)
at EventEmitter._tickCallback (node.js:126:26)
Если я закомментирую строку кода var gameMessage
, я не получу ошибку.Итак, это генерирует его.
Я бы хотел, чтобы эта строка осталась там, потому что она создает канал, который мне нужен.Таким образом, два человека могут играть вместе в мою игру.Если я не создаю это и пытаюсь запустить некоторый код на стороне клиента, такой как
var chat = io.connect('http://localhost/chat' + gameId);
chat.emit('guess', {
guess: "ciao"
});
chat.on('guess', function (data) {
alert(data);
});
, я получаю бесконечный цикл ошибок в консоли при подключении второго игрока.
Можеткто-то догадывается что с этим не так?Спасибо.