为了账号安全,请及时绑定邮箱和手机立即绑定

PHP、ZeroMQ、Socket io 和 Node Js 如何真正协同工作

PHP、ZeroMQ、Socket io 和 Node Js 如何真正协同工作

PHP
呼啦一阵风 2021-09-05 20:12:38
我已经开始为我的实时体育比分更新构建 PHP 和 Node Js 应用程序。我的 php 和节点服务器与节点模块 express、socket io 和 zeromq 一起工作正常。我有一个从 API 接收的大数据,在我打包的 php 文件中并将 json 数据发送到节点服务器(通过 zeromq),然后在节点 js 服务器文件中接收数据,然后将数据从那里发送到客户端。现在,该设置对于小数据集完全正常。但是当它是大文件时,节点服务器无法进一步处理并出现下面列出的错误。这是我在尝试通过节点服务器中的套接字 io 发送到客户端时遇到的错误节点:../node_modules/nan/nan.h:822: Nan::MaybeLocal Nan::NewBuffer(char*, size_t, node::Buffer::FreeCallback, void*): 断言`length <= imp::kMaxLength &&“缓冲区太大”'失败。中止(核心转储)这是主要的 node_socket.js  var express = require('express');   var app = express();  var fs = require('fs');  var options = {  key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),  cert: fs.readFileSync('/etc/letsencrypt/live/example.com/fullchain.pem'),  ca: fs.readFileSync('/etc/letsencrypt/live/example.com/chain.pem') }; var https = require('https').Server(options, app);  var zmq = require('zeromq') , sock = zmq.socket('pull');sock.bind('tcp://10.150.0.6:1111');var io = require('socket.io')(https); io.on('connection', function(socket){ socket.on('disconnect',function(){    console.log("client disconnected");})  sock.on('message',function(msg){     console.log('work: %s', msg.toString());    socket.emit('latest_score',msg.toString());    });      }); https.listen(3333); sock.on('connect', function(fd, ep) {console.log('connect, endpoint:', ep);}); console.log('App connected to port 3333');请注意,该应用程序适用于小数据,但无法处理从 php 文件发送的大型 json 数据。几天以来我尝试了一些不同的事情,但无济于事。我还从 Fiverr.com 雇佣了几个 node js 开发人员,但他们也无法解决问题。我希望这里有人能指导我朝着正确的方向前进。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信