用C++编写Socket.IO服务器

Cua*_*due 5 c++ node.js socket.io

我想编写一个使用与Socket.IO相同的有线格式的C++服务器.我找到gevent-socketio线路的数据包编解码器,但我找不到相应的客户端编解码器.

数据包的编码方式如下: 5:1+::{"name": "tobi"}

socket.io-protocol#Packet似乎并没有指定有线格式和标识似乎并没有与那些使用匹配gevent-socketio.

有明确的电线格式吗?是否有可能编写一个Socket.IO兼容的服务器,可能是一些固定版本的协议,具有固定/已知的客户端库?

小智 -4

Socket.IO 协议用于对客户端和服务器之间交换的消息进行编码和解码。消息以数据包的形式发送,并使用特定的有线格式进行编码。

gevent-socketio 使用的数据包格式由数据包类型标识符(例如,5)、数据包 ID(例如,1)和数据包数据(例如,{"name": "tobi"})组成。数据包类型标识符指定正在发送的数据包的类型(例如,事件、确认等),并且数据包id用于消息确认和识别特定数据包。

您的答案

可以用 C++ 编写 Socket.IO 兼容的服务器,但您需要自己实现 Socket.IO 协议和线路格式。您还需要确保您的服务器与您正在使用的客户端库兼容。通常建议使用与服务器端使用的 Socket.IO 协议版本兼容的 Socket.IO 客户端库。