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

问题描述 投票:0回答:1

我想编写一个使用与 Socket.IO 相同的有线格式的 C++ 服务器。我找到了

gevent-socketio
线路的数据包编解码器,但我找不到相应的客户端编解码器。

数据包的编码如下:

5:1+::{"name": "tobi"}

socket.io-protocol
#Packet似乎没有指定有线格式,并且标识符似乎与
gevent-socketio
使用的标识符不匹配。

有明确的有线格式吗?是否可以使用固定/已知的客户端库编写一个与 Socket.IO 兼容的服务器,也许适用于某些固定版本的协议?

node.js socket.io
1个回答
-4
投票
Socket.IO协议用于对客户端和服务器之间交换的消息进行编码和解码。消息以数据包的形式发送,并使用特定的有线格式进行编码。

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

你的答案

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

© www.soinside.com 2019 - 2024. All rights reserved.