节点 IPC 错误 "Messages are large, You may want to consider smaller messages."
node-ipc error "Messages are large, You may want to consider smaller messages."
所以我正在尝试使用 node-ipc 在 node.js 中设置套接字服务器,然后从客户端发送数据。我可以很好地连接,但是当我发送数据时我收到错误 Messages are large, You may want to consider smaller messages.
我已经听从了所有建议 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-ipc 在 node.js 中设置套接字服务器,然后从客户端发送数据。我可以很好地连接,但是当我发送数据时我收到错误 Messages are large, You may want to consider smaller messages.
我已经听从了所有建议 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);