问题标签 [multiplexing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - 具有可变大小信号的多路复用器
我正在使用 MATLAB/simulink 2014a,我想为多路复用器(带有 3 个端口)提供 3 个可变大小的信号。但我得到了错误:
有人可以帮我解决问题吗?
非常感谢。
http - 与 HTTP/1.1 相比,HTTP/2 如何提供更快的浏览速度?
我正在阅读一篇关于启动 HTTP/2 的文章。据说HTTP/2是基于SPDY(speedy)协议的,通过使用“header field compression”和“multiplexing”可以提供比HTTP/1.1更快的浏览速度。这些术语究竟是如何工作的?
我是否应该相信 HTTP/1.1 中的请求是以“一个接一个”的方式处理的?
android - SPDY 多路复用使请求比 HTTP 慢
我有一个混合了网络请求、一些小项目(~20kB)和一些大项目(> 2mB)的应用程序。如果我对 SPDY 的理解是正确的,SPDY 会在同一个连接上多路复用请求,因此如果较小的请求落后于较大的请求,它们可能会减慢速度。由于 OkHttp 还不支持请求的优先级,我能做些什么来防止这种情况吗?
我尝试对小请求使用 OkHttp 客户端,对较大请求使用另一个 OkHttp 客户端,但这似乎并不能解决问题,因为连接似乎是跨客户端共享的。
timestamp - Avconv 无法生成 PTS 时间戳
我正在从这样的静止图像生成 H264 流:
当尝试多路复用到 matroska 时
我收到以下错误:
因此,avconv 没有为帧生成时间戳,并且由于 matroska 需要它们进行索引,所以多路复用失败了,对吗?
股票视频播放器在尝试生成流时同样发疯:
现在,如果我这样做:
这确实有效,但 matroska 容器内的原始 H264 流仍然缺少 PTS 信息..!可以通过“avconv -i dummy.mkv test.h264”等来确认这一点。
对于我正在做的特定项目,我需要具有正确 PTS 信息的原始 H264 流。我到底怎么能做到这一点!?
我也在处理从 IP 摄像机录制的视频,这些视频经常丢失/错误的 PTS 信息,所以我应该能够在将它们放置到 matroska 容器之前更正它们的 PTS - 否则多路复用失败,即问题与那个相同此处描述用于从静止图像生成视频。
到目前为止,我已经尝试过视频生成:
对于多路复用:
..还有更多的排列。
没有任何作用!..它开始对我来说似乎是一个错误。我在 Ubuntu 14.04 上运行 avconv 9.16-6:9.16。
开始绝望了。
有没有人成功地用 avconv 生成 PTS?
c - 为游戏服务器处理多个客户端
我无法弄清楚如何在不阻塞服务器的情况下存储客户端句柄。我正在关注 Stevens 在“The Socket Networking API”中详述的并发服务器模型。
我的程序在玩家之间创建井字游戏。
该程序的结构是这样的:服务器处理 TCP/UDP 连接。客户端程序可以查询或连接到服务器。如果客户端查询,UDP 套接字通过返回已连接客户端的句柄列表来处理查询。
如果客户端连接,TCP 套接字通过 1. 向客户端请求句柄和 2. 存储它们的句柄来处理连接。如果有两个客户端连接,则会生成一个单独的进程来在它们之间创建匹配(但这现在不相关)。
在我的程序中,我将 TCP/UDP 套接字与select()
. 我当前的问题是如何在不阻塞的情况下处理询问和存储客户端句柄。
我考虑过:
- 创建另一个线程来处理请求和接收客户端句柄。
保留已连接客户端套接字的列表并将它们添加到 fd_set 数据结构中,并在它们之间进行多路复用,以及 TCP/UDP 套接字。
产生另一个进程来处理请求/接收句柄,但这不太可能,因为我将句柄存储在全局链表数据结构中,以便服务器可以在查询时返回一个列表。与父母沟通太麻烦了。
*以下代码尚未经过测试且不完整,因为我还没有弄清楚如何解决此问题。
c - 使用 select() 进行多路复用时等待子进程
我在处理僵尸进程时遇到了一些麻烦。我编写了一个简单的服务器,可以在玩家之间创建井字游戏。我正在使用 select() 在多个连接的客户端之间进行多路复用。只要有两个客户端,服务器就会派生另一个执行匹配仲裁程序的进程。
问题是 select() 阻塞。因此,假设有一个匹配仲裁程序作为子进程运行并退出,如果没有传入连接,父进程将永远不会等待子进程,因为 select() 正在阻塞。
我在这里有我的代码,很抱歉,因为它很乱。
有没有一种方法可以在 select() 阻塞时等待运行?最好没有信号处理,因为它们是异步的。
编辑:实际上,我发现 select 有一个 timeval 数据结构,我们可以指定超时。使用它是个好主意吗?
java - 区分STUN、RTP、DTLS数据包-java程序
我正在编写一个小型 UDP 服务器,它可能会在同一端口接收不同的 UDP 协议消息,例如 STUN、RTP、RTCP、DTLS 数据包。
我首先应该能够区分每种协议消息以执行不同的逻辑。
我在哪里可以找到 java 的示例,更好的库来帮助我。
c - select() 与 const timeout 参数?
select(2) 系统调用在 Stevens、Fenner 和 Rudoff 的 Unix Network Programming (2003) 第 6.3 章中定义如下:
但是现代的 Unix,如 FreeBSD、OpenBSD、NetBSD、Linux,甚至 POSIX[1] 标准,都没有这样定义系统调用。但是,书中指出“POSIX 指定了 const 限定符”。难道是书上的错误?还是因为历史原因?但是,所有系统都将 pselect(2) 定义为具有恒定的超时参数。
http://pubs.opengroup.org/onlinepubs/009695399/functions/pselect.html
本书勘误表页面并未将此列为错误:
python - 如何举例说明频谱复用 (FDM/TDM)
本周我将主持一场关于移动网络的讲座,并希望有某种以某种方式利用频谱复用的代码实现。由于频谱在物理层上,因此研究起来很棘手,所以我想我会寻求一些建议。
我发现了一些据称使用 FDM 的音频处理示例,这看起来像是一个很好的示例吗?
http://web.mit.edu/6.02/www/f2010/handouts/labs/lab7/lab7.shtml