node.js - Node IPC 错误 "Messages are large, You may want to consider smaller messages."

标签 node.js unix-socket node-ipc

所以我尝试使用node-ipc在node.js中设置一个套接字服务器,然后从客户端发送数据。我可以完美连接,但是当我发送数据时,我收到错误消息很大,您可能需要考虑较小的消息。我已遵循所有建议 here但仍未能成功解决问题。我尝试过从 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

最佳答案

不幸的是,这似乎是 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);

关于node.js - Node IPC 错误 "Messages are large, You may want to consider smaller messages.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56804584/

相关文章:

java - Unix 域套接字上管道损坏的原因是什么?

使用 node-ipc 和 unix 套接字在 NodeJS 和 C 之间进行通信

javascript - 使用express.js 路线设置来 react 应用程序

node.js - 如何使用 node.js 发送 HTTP/2.0 请求

javascript - NodeJS RADIUS OTP 认证

javascript - Ubuntu中的NodeJS不会将console.log()打印到终端

Java KeepAlive 检查程序不为 .checkError 返回 true

android - Android NDK 中与 Unix 域的 LocalSocket 通信