Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const ProtoDef = require("protodef").ProtoDef;
- const Serializer = require("protodef").Serializer;
- const Parser = require("protodef").Parser;
- // Пример протокола
- protocol = require('./protocol.json')
- // Фигня, которая нужна для парсинга пакетов
- const proto = new ProtoDef();
- // Добавляем в эту фигню наш протокол
- proto.addTypes(protocol);
- // Создаем парсер и сериализер
- // packet - название раздела в json'е, где содержатся пакеты
- const parser = new Parser(proto, "packet");
- const serializer = new Serializer(proto, "packet");
- // Пример использования сериализера
- serializer.write({
- name: "entity_look",
- params: {
- "entityId": 1,
- "yaw": 1,
- "pitch": 1,
- "onGround": true
- }
- });
- parser.on('data', function (chunk) {
- console.log("Parser parsing packet:", chunk);
- });
- serializer.on("data", function(chunk) {
- console.log("Create Packet:", chunk);
- parser.write(chunk);
- });
- ########################################
- # Результат #
- ########################################
- Create Packet: <Buffer 16 01 01 01 01>
- Parser parsing packet:
- {
- data: {
- name: 'entity_look',
- params: {
- entityId: 1,
- yaw: 1,
- pitch: 1,
- onGround: true
- }
- },
- metadata: {
- size: 5
- },
- buffer: <Buffer 16 01 01 01 01>
- }
Advertisement