请确认该表述是否有误:child_process_1.spawn创建子进程时只有一个文件描述符。

来源:15-4 Mediasoup启动详解

GavinXu89

2022-05-21

我的观点:有发送和接收两个文件描述符。
理由:

// Filename:Worker.js
this._child = child_process_1.spawn(
	...
	stdio: ['ignore', 'pipe', 'pipe', 'pipe', 'pipe', 'pipe', 'pipe'],
	);
this._channel = new Channel_1.Channel({
            producerSocket: this._child.stdio[3],	// 发送文件描述符
            consumerSocket: this._child.stdio[4],	// 接收文件描述符
            pid: this._pid
        });

本问题针对课程原话:如果真是匿名管道的话,其实它需要两个文件描述符,一个作为输入一个作为输出,但是这里呢我们只看到一个所以它是一个全双工的。

写回答

1回答

李超

2022-05-23

现在的代码我们看,课程里讲的是没任何问题的,只有一个文件描述符,通过这个文件描述符既可以发数据又可以接受数据,所以叫全双工;管道中的每个描述符都是单工的

0
1
GavinXu89
非常感谢!
2022-05-23
共1条回复

百万级高并发WebRTC流媒体服务器设计与开发

备战5G音视频时代,抢先掌握服务端高级技能

2067 学习 · 375 问题

查看课程