小编Joe*_*oey的帖子

"在/ usr/bin中/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ;?

我在unix版本6 的if.c中找到了这一行.

ncom = "/usr/bin/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
Run Code Online (Sandbox Code Playgroud)

为什么有那么多x?你为什么要这样设置?

c command

20
推荐指数
1
解决办法
1017
查看次数

RTMP与RTSP/RTP:选择哪种交互式直播流?

如果您正在尝试开发交互式直播应用程序,则需要依赖超低(实时)延迟.例如,用于视频会议或远程实验室.

适合这种情况的两种协议是:

  • RTSP,同时通过RTP传输数据
  • RTMP

*WebRTC:由于我试图为更大的受众提供互相交流的可能性,因此WebRTC并不合适.因为据我所知,它不是为更多的观众设计的.

我的问题:

  1. 我应该为这个用例选择哪一个?RTSP/RTP还是RTMP?

  2. 哪种协议可以提供有关端到端延迟,会话启动时间的更好结果?

  3. 哪一个消耗更多的硬件资源?

  4. RTMP似乎使用持久TCP连接.但是哪种协议用于传输?它不能是TCP,因为这无法确保实时延迟?

  5. 一般来说,使用这两种协议的利弊是什么?

我没有在科学论文或书籍中找到这两个协议的任何比较.只有着名的移动直播应用Periscope正在使用RTMP.

Instagram或Facebook等其他应用程序例如提供与流媒体的基于文本的交互.如果开发人员想要构建基于交互式直播流的下一个"杀手级应用程序":我认为这个问题是必不可少的.

streaming rtmp rtp rtsp live-streaming

10
推荐指数
1
解决办法
2万
查看次数

RTSP 1.0与RTSP 2.0

实时流协议(RTSP)版本1.0 于1998年作为RFC 2326发布.

现在将近20年后,2.0版于2016年12月发布为RFC 7826.

我想知道这些变化是否会影响使用RTSP(通过实时传输协议(RTP))进行直播的性能.

我知道RTSP不用于发送实时数据,但用于会话建立和控制机制,如播放,暂停或停止流.所以我猜这些变化对发送方和接收方之间的端到端延迟没有影响?

但是在变化中它就是例如

请求流水线以便快速启动会话;

所以我的问题是:对引入的更改的性能是否有可衡量的影响?

例如:

  • 会话启动时间(流开始播放的时间)
  • 端到端延迟
  • RTSP流量
  • ...

streaming real-time rtp rtsp live-streaming

8
推荐指数
1
解决办法
1109
查看次数

MPI:更改CMakelists中的处理器数量

我正在使用CLion.我的CMakeLists.txt看起来像这样:

cmake_minimum_required(VERSION 3.2)

project(MPI)

add_executable(MPI main.cpp)

# Require MPI for this project:
find_package(MPI REQUIRED)

set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})

include_directories(MPI_INCLUDE_PATH)
target_link_libraries(MPI ${MPI_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

MPI - Hello World运行良好.但是,如何更改cmakelists中的处理器数量?

我已经尝试将-np 4和-n 4添加到CLion中的程序参数中.但我还是得到了

Hello World进程0 of 1

c++ mpi mpich clion

7
推荐指数
1
解决办法
4985
查看次数

你为什么要回来(0*ap ++)?

这是K&R-C,这里是整个代码:http://v6shell.org/history/if.c

看看这个功能:

char *nxtarg() {
    if (ap>ac) return(0*ap++);
    return(av[ap++]);
}
Run Code Online (Sandbox Code Playgroud)

1.问题: 为什么要返回(0*ap ++)?好的,你想要返回0并将ap增加1.但为什么会这样?比它快if (ap>ac) {ap++; return 0;}吗?

2.Question:nxtarg的返回类型必须是char*,为什么你能返回0,一个整数?

c

6
推荐指数
1
解决办法
166
查看次数

调用一个没有参数的函数,虽然它需要一个[K&R-C]

这是K&R-C,这里是代码:http://v6shell.org/history/if.c

看看main-Method.有一行"if(exp())".

但函数exp声明为:exp(s).所以它需要一个论点.

为什么这样做?你为什么要这样做?

c

5
推荐指数
2
解决办法
169
查看次数

函数ttyn(3)返回什么?

手册页位于:http://man.cat-v.org/unix-6th/3/ttyn

这个例子:

if (ttyn(0) = 'x'){
...
}
Run Code Online (Sandbox Code Playgroud)

手册页说" 如果指示的文件与打字机不对应,则返回x. "

指示的文件将是参数0,所以标准输入,对吧?

什么是打字机?我的键盘?

你用这条线检查什么?

if (ttyn(0) = 'x')
Run Code Online (Sandbox Code Playgroud)

c tty

3
推荐指数
1
解决办法
122
查看次数

Unix:fork等待

这是命令源代码中我不理解的最后一部分if.

资料来源:http://v6shell.org/history/if.c,包含语法 - 突出显示:http://pastebin.com/bj0Hvfrw

if(eq(a, "{")) { /* execute a command for exit code */
    if(fork()) /*parent*/ wait(&ccode);
    else { /*child*/
        doex(1);
        goto err;
    }
    while((a=nxtarg()) && (!eq(a,"}")));
    return(ccode? 0 : 1);
}
Run Code Online (Sandbox Code Playgroud)

如man-page(http://man.cat-v.org/unix-6th/1/if)中所述,如果我们将命令放在括号" if expr {command} "中,我们可以获得他的退出代码.

那么我们分叉当前进程,然后等待我们的子进程完成?但是我们的孩子继续他的工作在哪里?在fork之后,我们将进入while循环并且只是跳过一些参数然后用ccode返回?ccode在哪里改变了?什么是ccode?

你能解释一下给定的代码片段吗?并详细说明ccode?

等待的手册页:http://man.cat-v.org/unix-6th/2/wait

shell history command

2
推荐指数
1
解决办法
397
查看次数

JMP 和 CALL 如何在汇编程序中工作?

如果你编译、链接和运行这样的东西:

global _start

section .text

_start:
jmp message

proc:
...

message:
    call proc
    msg db " y0u sp34k 1337 ? "

section .data
Run Code Online (Sandbox Code Playgroud)
  1. 机器如何知道他需要跳到哪里?我猜“消息:”和“过程:”被翻译成地址。
  2. "message:" 和 "proc:" 有绝对地址还是相对地址?
  3. 如果我在我的 PC 上编译程序并在另一台 PC 上执行它,它如何在另一台机器上运行?我的意思是关于“消息:”和“过程:”的地址。它会永远是一个不同的地址吗?

x86 assembly compilation memory-address

0
推荐指数
1
解决办法
653
查看次数