小编Edd*_*ker的帖子

视频流上的TCP与UDP

我刚从网络编程的考试中回到家,他们问我们的一个问题是"如果要播放视频,你会使用TCP还是UDP?为存储的视频和实时视频流提供解释".对于这个问题,他们只是简单地期望存储视频的TCP简短回答和实时视频的UDP,但我在回家的路上想到了这一点,并且使用UDP流媒体直播视频一定更好吗?我的意思是,如果你有足够的带宽,并说你正在播放足球比赛或音乐会,你真的需要使用UDP吗?

让我们说,当你正在流式音乐会或使用TCP的任何东西时,你开始丢失数据包(在你和发送者之间的某些网络中发生了一些不好的事情),并且整整一分钟你都没有得到任何数据包.视频流将暂停,一分钟后,数据包开始再次通过(IP为您找到了新的路由).然后会发生什么是TCP会在您丢失的那一刻重新传输并继续向您发送实时流.假设带宽高于流上的比特率,并且ping不是太高,所以在很短的时间内,丢失的那一分钟将作为流的缓冲区,这样,如果再次发生丢包,您将不会注意到.

现在,我可以想到一些设备,这不是一个好主意,例如视频会议,你需要总是在流的末尾,因为视频聊天期间的延迟是可怕的,但在足球比赛或音乐会期间,如果你在流后面一分钟,这有什么关系?此外,您可以保证获得所有数据,最好保存以供日后查看,而不会出现任何错误.

所以这让我想到了我的问题.关于使用TCP进行直播,我不知道有什么缺点吗?或者它应该真的是,如果你有它的带宽你应该去TCP,因为它对网络"更好"(流量控制)?

video networking udp tcp video-streaming

87
推荐指数
4
解决办法
14万
查看次数

在调试器中唯一标识引用类型

我来自C++背景,如果这是一种非C#思维方式,那么道歉,但我只需要知道.:)

在C++中,如果我有两个指针,并且我想知道它们是否指向相同的东西,我可以查看内存/监视窗口并查看它们的值 - 看它们是否指向相同的内存空间.

在C#中,我无法找到这些内容.一个具有完全相同值的引用类型实际上可能是完全相同的对象,或者它可能是完全不同的东西.

有没有办法让我在C#中看到这种信息?或许某种等同于观察窗口的&运算符或某些类似的?

c# debugging reference-type visual-studio

44
推荐指数
2
解决办法
8140
查看次数

用C++包装整数的干净,高效的算法

/**
  * Returns a number between kLowerBound and kUpperBound
  * e.g.: Wrap(-1, 0, 4); // Returns 4
  * e.g.: Wrap(5, 0, 4); // Returns 0      
  */
int Wrap(int const kX, int const kLowerBound, int const kUpperBound)
{
    // Suggest an implementation?
}
Run Code Online (Sandbox Code Playgroud)

c++ algorithm math integer word-wrap

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

使用适用于 Windows 的 Docker-Desktop,如何配置 sysctl 参数以在重新启动后继续存在?

在 win10 [wsl2] docker-desktop 中运行 elasticsearch 需要通过以下方式将 mmap 计数增加到 262144sysctl -w vm.max_map_count=262144

C:\Users\<username>>wsl -d docker-desktop
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

在对此问题和弹性文档的回答中,建议相应地更新以将该值设置为永久,即使其在重新启动后仍然存在。vm.max_map_count/etc/sysctl.conf

请注意下面的输出,显示在我尝试遵循此建议并重新启动后,有效 mmap 计数未适应 sysctl.conf 中定义的值。

为什么没有呢?

PS C:\Users\<username>> wsl -d docker-desktop
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># sysctl vm.max_map_count
vm.max_map_count = 65530
<hostname>:/tmp/docker-desktop-root/mnt/host/c/Users/<username># cd /etc
<hostname>:/etc# cat sysctl.conf
# content of this file will override /etc/sysctl.d/*
vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

考虑到更改了错误的 sysctl.conf,etc/我尝试更改 中的 sysctl.conf <hostname>:/tmp/docker-desktop-root/etc#。这是不允许的,因为这是一个Read-only file system.

可以/应该在 .wslconfig 中对其进行参数化吗?如果可以,如何?

使用 openSUSE Leap 15.2 代替 Win10 的 …

opensuse elasticsearch docker wsl-2

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

从网页中提取"最佳"图像的技术

我正在尝试为我的网站构建类似于Facebook的"共享"功能.

我已经到了可以接受URL的地步,抓取元关键字并适当地获取标题/描述,但我有点卡住了确定用户可能想要分享的"可能"照片的最佳方式.

我目前使用SimpleXMLElement将页面转换为可遍历的DOM,并找到所有标记,将它们转换为绝对URL.在那之后,我不确定如何找到合适的缩略图.

我是否全部下载它们,并按文件大小排序?我是否使用某种启发式方法,"在页面中间遇到"?

有没有其他人有任何建议,建议或提示?

share facebook image extraction

9
推荐指数
1
解决办法
520
查看次数

Python应用程序:你能以某种方式保护你的代码吗?

如果真的有一种"最好的"方式,那么发布python应用程序的最佳方法什么,并确保人们不能(轻松地)反向设计您的算法/安全/工作?

如果没有"最佳"方式,有哪些不同的选择?

背景:我喜欢用Python编码,并希望用它发布更多应用程序.我想知道的一件事是,人们可能会绕过我放入的任何许可代码,或者只能破掉我的整个源代码库.我听说过Py2Exe和类似的应用程序,但我很好奇是否有"首选"方法,或者这个问题只是生活中的事实.

python security reverse-engineering

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

Vim w/Python:让":make"把我带到错误处

如果我有一个python文件,如:

  def Bar():
      raise NotImplementedError

  def Foo():
      Bar()

  if __name__ == '__main__':
      Foo()
Run Code Online (Sandbox Code Playgroud)

我输入:在vim中制作,它很好地构建了我:cwindow充满相关区域以向上移动追溯.

但是,它将我的光标默认为调用的第一帧(名称 ==' main ').我可以以某种方式更改默认行为,所以我需要实际调用异常吗?

- 更新 - 回答Ingo的问题:

:makeprg/errorformat设置为gentoo安装的默认值.那是:

makeprg=python %
errorformat=%A  File "%f"\, line %l%.%#,%Z%[%^ ]%\@=%m 
Run Code Online (Sandbox Code Playgroud)

quickfix窗口中的堆栈跟踪如下所示:

    main.py
     1 || Traceback (most recent call last):
     2 main.py|8|
     3 ||     Foo()
     4 main.py|5|
     5 ||     Bar()
     6 main.py|2|
     7 ||     raise NotImplementedError
     8 || NotImplementedError
Run Code Online (Sandbox Code Playgroud)

如果我开始在'加注'(第7行)并且可以:cp'向后'根据需要,我会爱上它.

python vim

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

芹菜:任务辛格尔顿?

我有一项任务需要从触发它的网页异步运行。该任务的运行时间相当长,并且由于网页可能会收到很多此类请求,因此我希望celery在给定的时间仅运行此任务的一个实例。

我有什么办法可以在Celery中本地执行此操作吗?我很想创建一个数据库表来保存所有要与之通信的任务的状态,但是感觉很hack。

singleton communication task celery

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

const的有用性(C++)

我是一个常识恶魔,我努力使所有东西尽可能地成为常数.

我已经尝试过查看const和非const函数的各种反汇编输出,但是我还没有看到明显的改进.我现在假设编译器能够使用非const函数做聪明的事情,这些函数在技术上可能是const.

是否还存在const在机器级别有用的情况?任何例子?

c++ const

5
推荐指数
3
解决办法
897
查看次数

有人在企业环境中使用分布式VCS吗?

我很想知道人们在企业环境中使用分布式版本控制的经历.

特别:

  1. 获得采用难度很大吗?
  2. 现在它已经到位了,它是否很受欢迎?
  3. 您使用的是什么样的模型(hub&spoke?还有其他什么?)
  4. 让您使用集线器和说话的时候,有没有与推到一个中央服务器的任何纪律问题?
  5. 我想听到的话,任何人有非程序员这样的环境中工作,最好的艺术家和喜欢谁VCS可有点令人生畏.它对他们有用吗?

version-control corporate dvcs

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

tqdm:更新总数不重置时间已过

我正在使用 tqdm 递归目录树。我不知道我将使用的路径数量,而且我不想在我做工作之前构建该列表只是为了获得准确的总数,我宁愿让它将进度条更新为它继续。

我发现我可以很好地使用 'reset(total=new_total)',但这也会重置时间。有没有办法可以保持时间,但只需将总数设置为新的东西?

python tqdm

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

Win32 API优雅地关闭另一个进程?

我正在寻找一种方法从另一个关闭Windows应用程序.有没有办法做到这一点?

理想情况下,我想要的东西基本上模仿ALT-F4,或按右上角的"X"或其他一些.

或者,那里有一个应用程序吗?对于我的想法,tskill有点过于苛刻.

winapi shutdown process

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