Apache flex socket.io发出特定的传输

Apache flex socket.io发出特定的传输,apache-flex,socket.io,Apache Flex,Socket.io,socket.io能否在一种传输方式中发射,然后在另一种传输方式中发射 socket.emit('my event',{data:'something'},{transports: ['websocket','xhr-polling']}); socket.emit('my event',{data:'somethingelse'},{transports: ['flashsocket']}); 我的理由是,我想创建一个带有FlashSocket.IO的flex.swf,它与我的服务器app.

socket.io能否在一种传输方式中发射,然后在另一种传输方式中发射

socket.emit('my event',{data:'something'},{transports: ['websocket','xhr-polling']});
socket.emit('my event',{data:'somethingelse'},{transports: ['flashsocket']});

我的理由是,我想创建一个带有FlashSocket.IO的flex.swf,它与我的服务器app.js对话,就像我的client.html javascript一样

我认为您应该使用名称空间,对于您的js客户端,连接到名称空间a。对于flex客户端,连接到命名空间b。通过这种方式,您可以更轻松地管理您的客户,并更清楚地了解您对每个小组所做的工作。您也可以尝试以下方法:

var io = require('socket.io').listen(80);

var mySocket;
var chat = io
  .of('/chat')
  .on('connection', function (socket) {
    mySocket = socket;
    socket.emit('a message', {
        that: 'only'
      , '/chat': 'will get'
    });
  });

var mySocket2;
var chat2 = io
  .of('/chat2')
  .on('connection', function (socket) {
    mySocket2 = socket;
    socket.emit('a message', {
        that: 'only'
      , '/chat2': 'will get'
    });
  });

function myEmit(channel, msg) {
  if (channel == 'chat1')
    mySocket.emit(msg);
  else if (channel == 'chat2')
    mySocket2.emit(msg)
}

问问题之前你试过了吗?如果是这样,你有没有遇到问题?有什么问题吗?我还没有设置flash部分。在这个阶段尝试收集尽可能多的信息。在socket.io wiki中没有提到,但看起来确实可以通过客户端“传输”指定,但对于服务器切换样式,我会尽快尝试;除非有人回答说这是一个愚蠢的想法:那与运输无关