我刚从网络编程的考试中回到家,他们问我们的一个问题是"如果要播放视频,你会使用TCP还是UDP?为存储的视频和实时视频流提供解释".对于这个问题,他们只是简单地期望存储视频的TCP简短回答和实时视频的UDP,但我在回家的路上想到了这一点,并且使用UDP流媒体直播视频一定更好吗?我的意思是,如果你有足够的带宽,并说你正在播放足球比赛或音乐会,你真的需要使用UDP吗?
让我们说,当你正在流式音乐会或使用TCP的任何东西时,你开始丢失数据包(在你和发送者之间的某些网络中发生了一些不好的事情),并且整整一分钟你都没有得到任何数据包.视频流将暂停,一分钟后,数据包开始再次通过(IP为您找到了新的路由).然后会发生什么是TCP会在您丢失的那一刻重新传输并继续向您发送实时流.假设带宽高于流上的比特率,并且ping不是太高,所以在很短的时间内,丢失的那一分钟将作为流的缓冲区,这样,如果再次发生丢包,您将不会注意到.
现在,我可以想到一些设备,这不是一个好主意,例如视频会议,你需要总是在流的末尾,因为视频聊天期间的延迟是可怕的,但在足球比赛或音乐会期间,如果你在流后面一分钟,这有什么关系?此外,您可以保证获得所有数据,最好保存以供日后查看,而不会出现任何错误.
所以这让我想到了我的问题.关于使用TCP进行直播,我不知道有什么缺点吗?或者它应该真的是,如果你有它的带宽你应该去TCP,因为它对网络"更好"(流量控制)?
我来自C++背景,如果这是一种非C#思维方式,那么道歉,但我只需要知道.:)
在C++中,如果我有两个指针,并且我想知道它们是否指向相同的东西,我可以查看内存/监视窗口并查看它们的值 - 看它们是否指向相同的内存空间.
在C#中,我无法找到这些内容.一个具有完全相同值的引用类型实际上可能是完全相同的对象,或者它可能是完全不同的东西.
有没有办法让我在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) 在 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 的 …
我正在尝试为我的网站构建类似于Facebook的"共享"功能.
我已经到了可以接受URL的地步,抓取元关键字并适当地获取标题/描述,但我有点卡住了确定用户可能想要分享的"可能"照片的最佳方式.
我目前使用SimpleXMLElement将页面转换为可遍历的DOM,并找到所有标记,将它们转换为绝对URL.在那之后,我不确定如何找到合适的缩略图.
我是否全部下载它们,并按文件大小排序?我是否使用某种启发式方法,"在页面中间遇到"?
有没有其他人有任何建议,建议或提示?
如果真的有一种"最好的"方式,那么发布python应用程序的最佳方法是什么,并确保人们不能(轻松地)反向设计您的算法/安全/工作?
如果没有"最佳"方式,有哪些不同的选择?
背景:我喜欢用Python编码,并希望用它发布更多应用程序.我想知道的一件事是,人们可能会绕过我放入的任何许可代码,或者只能破掉我的整个源代码库.我听说过Py2Exe和类似的应用程序,但我很好奇是否有"首选"方法,或者这个问题只是生活中的事实.
如果我有一个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'向后'根据需要,我会爱上它.
我有一项任务需要从触发它的网页异步运行。该任务的运行时间相当长,并且由于网页可能会收到很多此类请求,因此我希望celery在给定的时间仅运行此任务的一个实例。
我有什么办法可以在Celery中本地执行此操作吗?我很想创建一个数据库表来保存所有要与之通信的任务的状态,但是感觉很hack。
我是一个常识恶魔,我努力使所有东西尽可能地成为常数.
我已经尝试过查看const和非const函数的各种反汇编输出,但是我还没有看到明显的改进.我现在假设编译器能够使用非const函数做聪明的事情,这些函数在技术上可能是const.
是否还存在const在机器级别有用的情况?任何例子?
我很想知道人们在企业环境中使用分布式版本控制的经历.
特别:
我正在使用 tqdm 递归目录树。我不知道我将使用的路径数量,而且我不想在我做工作之前构建该列表只是为了获得准确的总数,我宁愿让它将进度条更新为它继续。
我发现我可以很好地使用 'reset(total=new_total)',但这也会重置时间。有没有办法可以保持时间,但只需将总数设置为新的东西?
我正在寻找一种方法从另一个关闭Windows应用程序.有没有办法做到这一点?
理想情况下,我想要的东西基本上模仿ALT-F4,或按右上角的"X"或其他一些.
或者,那里有一个应用程序吗?对于我的想法,tskill有点过于苛刻.
python ×3
c++ ×2
algorithm ×1
c# ×1
celery ×1
const ×1
corporate ×1
debugging ×1
docker ×1
dvcs ×1
extraction ×1
facebook ×1
image ×1
integer ×1
math ×1
networking ×1
opensuse ×1
process ×1
security ×1
share ×1
shutdown ×1
singleton ×1
task ×1
tcp ×1
tqdm ×1
udp ×1
video ×1
vim ×1
winapi ×1
word-wrap ×1
wsl-2 ×1