问题标签 [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.

0 投票
1 回答
1816 浏览

arrays - 具有可变大小信号的多路复用器

我正在使用 MATLAB/simulink 2014a,我想为多路复用器(带有 3 个端口)提供 3 个可变大小的信号。但我得到了错误:

在此处输入图像描述

有人可以帮我解决问题吗?

非常感谢。

0 投票
2 回答
541 浏览

http - 与 HTTP/1.1 相比,HTTP/2 如何提供更快的浏览速度?

我正在阅读一篇关于启动 HTTP/2 的文章。据说HTTP/2是基于SPDY(speedy)协议的,通过使用“header field compression”和“multiplexing”可以提供比HTTP/1.1更快的浏览速度。这些术语究竟是如何工作的?

我是否应该相信 HTTP/1.1 中的请求是以“一个接一个”的方式处理的?

0 投票
1 回答
186 浏览

android - SPDY 多路复用使请求比 HTTP 慢

我有一个混合了网络请求、一些小项目(~20kB)和一些大项目(> 2mB)的应用程序。如果我对 SPDY 的理解是正确的,SPDY 会在同一个连接上多路复用请求,因此如果较小的请求落后于较大的请求,它们可能会减慢速度。由于 OkHttp 还不支持请求的优先级,我能做些什么来防止这种情况吗?

我尝试对小请求使用 OkHttp 客户端,对较大请求使用另一个 OkHttp 客户端,但这似乎并不能解决问题,因为连接似乎是跨客户端共享的。

0 投票
1 回答
1126 浏览

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?

0 投票
1 回答
853 浏览

c - 为游戏服务器处理多个客户端

我无法弄清楚如何在不阻塞服务器的情况下存储客户端句柄。我正在关注 Stevens 在“The Socket Networking API”中详述的并发服务器模型。

我的程序在玩家之间创建井字游戏。

该程序的结构是这样的:服务器处理 TCP/UDP 连接。客户端程序可以查询或连接到服务器。如果客户端查询,UDP 套接字通过返回已连接客户端的句柄列表来处理查询。

如果客户端连接,TCP 套接字通过 1. 向客户端请求句柄和 2. 存储它们的句柄来处理连接。如果有两个客户端连接,则会生成一个单独的进程来在它们之间创建匹配(但这现在不相关)。

在我的程序中,我将 TCP/UDP 套接字与select(). 我当前的问题是如何在不阻塞的情况下处理询问和存储客户端句柄。

我考虑过:

  1. 创建另一个线程来处理请求和接收客户端句柄。
  2. 保留已连接客户端套接字的列表并将它们添加到 fd_set 数据结构中,并在它们之间进行多路复用,以及 TCP/UDP 套接字。

  3. 产生另一个进程来处理请求/接收句柄,但这不太可能,因为我将句柄存储在全局链表数据结构中,以便服务器可以在查询时返回一个列表。与父母沟通太麻烦了。

*以下代码尚未经过测试且不完整,因为我还没有弄清楚如何解决此问题。

0 投票
2 回答
1806 浏览

c - 使用 select() 进行多路复用时等待子进程

我在处理僵尸进程时遇到了一些麻烦。我编写了一个简单的服务器,可以在玩家之间创建井字游戏。我正在使用 select() 在多个连接的客户端之间进行多路复用。只要有两个客户端,服务器就会派生另一个执行匹配仲裁程序的进程。

问题是 select() 阻塞。因此,假设有一个匹配仲裁程序作为子进程运行并退出,如果没有传入连接,父进程将永远不会等待子进程,因为 select() 正在阻塞。

我在这里有我的代码,很抱歉,因为它很乱。

有没有一种方法可以在 select() 阻塞时等待运行?最好没有信号处理,因为它们是异步的。

编辑:实际上,我发现 select 有一个 timeval 数据结构,我们可以指定超时。使用它是个好主意吗?

0 投票
2 回答
826 浏览

java - 区分STUN、RTP、DTLS数据包-java程序

我正在编写一个小型 UDP 服务器,它可能会在同一端口接收不同的 UDP 协议消息,例如 STUN、RTP、RTCP、DTLS 数据包。

我首先应该能够区分每种协议消息以执行不同的逻辑。

我在哪里可以找到 java 的示例,更好的库来帮助我。

0 投票
1 回答
443 浏览

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

本书勘误表页面并未将此列为错误:

http://www.unixnetworkprogramming.com/errata.html

0 投票
3 回答
77 浏览

c - io多路复用,服务器收不到数据

我正在编写一个多路复用的客户端/服务器和我的服务器,在收到来自客户端的 LOGIN 命令后,等待帐户数据,但收到一个空结构,我不知道为什么。这是我的代码: 服务器:

奥替尼卡功能:

客户端登录功能:

我尝试使用函数 sleep(),但它不起作用。有什么建议么?

0 投票
0 回答
158 浏览

python - 如何举例说明频谱复用 (FDM/TDM)

本周我将主持一场关于移动网络的讲座,并希望有某种以某种方式利用频谱复用的代码实现。由于频谱在物理层上,因此研究起来很棘手,所以我想我会寻求一些建议。

我发现了一些据称使用 FDM 的音频处理示例,这看起来像是一个很好的示例吗?

http://web.mit.edu/6.02/www/f2010/handouts/labs/lab7/lab7.shtml