当前位置: 首页 > news >正文

用什么服务器做盗版小说网站吗咸阳seo推广

用什么服务器做盗版小说网站吗,咸阳seo推广,公众号运营内容,长春哪家公司做网站好Mediasoup 创建父子进程,js与c进程交互的通道 worker.js构造函数中创建父子进程,c通过libuv的socket可以实现 JavaScript 与 C 之间的相互收发消息 一、 父子进程通信 这是一个简单的示例,演示了如何使用 libuv 在父子进程之间进行通信。以…

Mediasoup 创建父子进程,js与c++进程交互的通道

worker.js构造函数中创建父子进程,c++通过libuv的socket可以实现 JavaScript 与 C++ 之间的相互收发消息

一、 父子进程通信

这是一个简单的示例,演示了如何使用 libuv 在父子进程之间进行通信。以下是一个基于 Node.js 和 C++ 的示例:

在 C++ 程序(child.cpp)中,使用 libuv 创建一个管道,然后向父进程发送消息:


#include <uv.h>int main() {uv_pipe_t pipe;uv_loop_t* loop = uv_default_loop();uv_pipe_init(loop, &pipe, 0);uv_write_t write_req;const char* message = "Hello from child";uv_buf_t buf = uv_buf_init(const_cast<char*>(message), strlen(message));uv_write(&write_req, reinterpret_cast<uv_stream_t*>(&pipe), &buf, 1, nullptr);uv_run(loop, UV_RUN_DEFAULT);return 0;
}
```在 Node.js 程序(parent.js)中,使用 libuv 监听管道上的数据事件,并从子进程接收消息:```javascript
const { spawn } = require('child_process');
const uv = require('uv');const pipe = new uv.Pipe();
pipe.open(0);pipe.onData((data) => {console.log('Received:', data.toString());
});const childProcess = spawn('./child'); // 启动子进程const pipeFd = childProcess.stdio[0].fd;
pipe.open(pipeFd); // 将子进程的管道连接到 Node.js 的管道childProcess.on('exit', () => {pipe.close();
});

在上述示例中,C++ 程序通过 `uv_pipe_init` 创建了一个管道,并使用 `uv_write` 向管道写入消息。Node.js 程序使用 `uv.Pipe` 创建了一个管道对象,并通过 `pipe.open` 将子进程的管道连接到 Node.js 的管道上。然后,通过监听管道的 `onData` 事件,Node.js 可以接收到来自子进程的消息。

在实际运行时,首先需要编译和生成 C++ 程序的可执行文件(例如 `child`),然后运行 Node.js 程序(parent.js)。父进程将启动子进程,并与子进程建立管道通信,实现了父子进程之间的通信。

二、子进程中添加了读取父进程

以下是更新后的 C++ 示例代码,在子进程中添加了读取父进程发送的消息的逻辑:

#include <uv.h>
#include <iostream>void on_read(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) {if (nread > 0) {std::cout << "Received: " << buf->base << std::endl;} else if (nread < 0) {if (nread != UV_EOF) {std::cerr << "Read error: " << uv_strerror(nread) << std::endl;}uv_close(reinterpret_cast<uv_handle_t*>(stream), nullptr);}delete[] buf->base;
}void alloc_buffer(uv_handle_t* handle, size_t suggested_size, uv_buf_t* buf) {buf->base = new char[suggested_size];buf->len = suggested_size;
}int main() {uv_loop_t* loop = uv_default_loop();uv_pipe_t pipe;uv_pipe_init(loop, &pipe, 0);uv_pipe_open(&pipe, 0);uv_read_start(reinterpret_cast<uv_stream_t*>(&pipe), alloc_buffer, on_read);uv_run(loop, UV_RUN_DEFAULT);return 0;
}

在更新后的代码中,使用 `uv_read_start` 函数在子进程中启动对管道的读取操作。当有数据到达时,触发 `on_read` 回调函数,并打印接收到的消息。如果读取出错或遇到 EOF(文件结束),则关闭管道并终止子进程。
 

http://www.yayakq.cn/news/814319/

相关文章:

  • jsp网站设计seo综合查询怎么用的
  • 怎么自己做网站空间公众号服务平台
  • 建立网站怎么做关键字wordpress页面404
  • 锡林郭勒盟建设工程管理网站在线制作图片网站有哪些
  • 网站管理手册软件服务网站设计费如何做分录
  • 北京高端企业网站国内it培训机构排名
  • 网站做流量是怎么回事外贸论坛有哪些平台
  • 汽车网站建设论坛做网站运营买什么电脑
  • 计算机专业设计一个网站网站开发流程详解
  • 龙岗网站建设培训手机上免费自己做网站
  • 网站页面的滑动怎么做一站式网站建设行业
  • 开发网站用什么软件推荐几个做网站比较好的公司
  • 网站建设的作用有哪些方面青岛网站设计公司
  • 网站设计就业岗位分析凡科网站自己如何做
  • 池州网站制作优化wordpress底部图片
  • 便宜做外贸网站cpa推广联盟
  • 网站建站如何做seo考研比较厉害的培训机构
  • 网站 需求 文档python菜鸟教程
  • 网站规划有前途吗WordPress内网外网访问
  • 网站目录结构 权限黄骅港邮政编码
  • 公司网站建设会计分录南昌网站页面优化
  • 天河区门户网站做网站推广优化
  • 网站营销网站优化如何确认建设银行网站不是假的
  • 做网站编辑需要会什么响应式网站模板下载免费
  • 酒店机票最便宜的网站建设旅游最新资讯
  • 网站建设分金手指专业十六wordpress 中文 伪静态
  • 深圳外贸公司网站建设公司排名苏州响应式网站建设
  • 手机网站注册大型网站制作导图
  • 东莞网站开发建设艺术设计教学资源网站建设标准
  • php做网站目录结构泉州百度搜索推广