socket.io与node.js/express.js存在问题

socket.io与node.js/express.js存在问题,node.js,socket.io,express,Node.js,Socket.io,Express,我在玩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

我在玩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)
当第二个玩家连接时,我在控制台中得到一个无限的错误循环


有人能猜出这是怎么回事吗?谢谢。

你所做的是错误的,你不应该把Socket.IO代码放到你的路由中,Express.js应用程序和Socket.IO应用程序不会那样“连接”


使用Socket.IO服务器创建一个单独的文件,然后在希望连接到Socket.IO(从服务器端或客户端)时使用该文件发送消息。

我希望为每对播放机创建一个单独的频道,但这些频道将在两个播放机连接时创建。可以这样做吗?你可以做其他事情,让每个用户都连接到他的频道。例如,当“Alex”向“Jim”发送消息时,“Jim”将收到消息,因为它收听“Jim”频道,反之亦然。
var chat = io.connect('http://localhost/chat' + gameId);
        chat.emit('guess', {
            guess: "ciao"
        });
        chat.on('guess', function (data) {
            alert(data);
        });