Gistrec

ProtoDef TEST 2

Jul 27th, 2017
245
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const ProtoDef = require("protodef").ProtoDef;
  2. const Serializer = require("protodef").Serializer;
  3. const Parser = require("protodef").Parser;
  4.  
  5.  
  6. // Пример протокола
  7. protocol = require('./protocol.json')
  8. // Фигня, которая нужна для парсинга пакетов
  9. const proto = new ProtoDef();
  10. // Добавляем в эту фигню наш протокол
  11. proto.addTypes(protocol);
  12. // Создаем парсер и сериализер
  13. // packet - название раздела в json'е, где содержатся пакеты
  14. const parser = new Parser(proto, "packet");
  15. const serializer = new Serializer(proto, "packet");
  16.  
  17.  
  18. // Пример использования сериализера
  19. serializer.write({
  20.     name: "entity_look",
  21.     params: {
  22.         "entityId": 1,
  23.         "yaw": 1,
  24.         "pitch": 1,
  25.         "onGround": true
  26.     }
  27. });
  28.  
  29. parser.on('data', function (chunk) {
  30.     console.log("Parser parsing packet:", chunk);
  31. });
  32.  
  33. serializer.on("data", function(chunk) {
  34.     console.log("Create Packet:", chunk);
  35.     parser.write(chunk);
  36. });
  37.  
  38. ########################################
  39. #              Результат               #
  40. ########################################
  41.  
  42. Create Packet: <Buffer 16 01 01 01 01>
  43.  
  44. Parser parsing packet:
  45. {
  46.     data: {
  47.         name: 'entity_look',
  48.         params: {
  49.             entityId: 1,
  50.             yaw: 1,
  51.             pitch: 1,
  52.             onGround: true
  53.         }
  54.     },
  55.     metadata: {
  56.         size: 5
  57.     },
  58.     buffer: <Buffer 16 01 01 01 01>
  59. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment