Ошибка node-ipc "Сообщения большие, возможно, вы захотите рассмотреть сообщения меньшего размера." - PullRequest
1 голос
/ 28 июня 2019

Итак, я пытаюсь настроить сервер сокетов в файле node.js, используя node-ipc, а затем отправить данные от клиента. Я могу подключиться отлично, однако при отправке данных я получаю сообщение об ошибке Messages are large, You may want to consider smaller messages. Я следовал всем советам здесь , однако все еще не удалось решить проблему. Я попытался отправить из сокет соединения в C, а также с терминала Любой совет был бы отличным, заранее спасибо.

main.js

const ipc = require("node-ipc");
const socket = '/tmp/edufuse.sock';
ipc.serve(
    socket,
    function(){
      ipc.server.on(
          'myEvent',
          function(data){
            ipc.log('got a message : '.debug, data);
          }
      );
    }
);
ipc.server.start();

test.json
```json
{ type: message, data: { foo: bar } }

команда с терминала

pr -tF test.json | nc -U /tmp/edufuse.sock

1 Ответ

0 голосов
/ 10 июля 2019

К сожалению, похоже, что это основная проблема с node-ipc. Чтобы обойти это, я использовал сетевые сокеты и TCP.

const net = require('net');
const port = 8080;
const host = '127.0.0.1';

var server = net.createServer(function(socket) {
  socket.on('data', function(data){
    let str = data.toString('utf8');
    console.log(str);
    try {
      let json = JSON.parse(str);
      console.log(json);
    } catch (e) {
      console.log('error str: ' + str);
    }

  });
  socket.on('error', function(err) {
    console.log(err)
  })
});

server.listen(port, host);
...