Node.js的非事件驱动套接字模块

时间:2016-02-23 09:50:35

标签: python node.js sockets socket.io

我使用Socket.io创建了一个带有Node.js的服务器,现在我需要让Python客户端连接到它。

让我感到困扰的是了解Socket.io中的“关键字”如何影响此连接。例如,这是它最初在服务器端完成的方式:

io.on('connection', function(socket){

  socket.on('request', function(msg){
     console.log(msg);
  });
});

这意味着Python客户端必须做这样的事情(如果我将其作为终端中的脚本运行):

establishConnection 12.12.12.12:3000 'connection'
//connection established ...
sendData('request', {data : 'hello'});

这不是首选,我需要修改服务器以接受没有关键字的套接字请求,例如

establishConnection 12.12.12.12:3000
//connection established ...
sendData({data : 'hello'});

这可以用Socket.io吗?

1 个答案:

答案 0 :(得分:0)

在api中,无法从UnicodeString库中获取所有包。

要获取socket.io的所有数据包,您可以执行丑陋的黑客攻击并覆盖socket.io的{​​{3}}或onevent

像这样:

socket
  

{' 0':{type:2,nsp:' /',数据:['聊天消息',' hei' ; ]}}

请注意,这是未记录的,并且不受支持,因此API很可能会中断。