SSH命令怎么发送这么快?

问题描述 投票:0回答:1

我写了一个 Pythonn 服务器/客户端套接字/网络程序,其中服务器运行在云虚拟机中,客户端在我的计算机上本地运行。

客户端打开与服务器的TCP连接,服务器

accept()
建立连接,然后它调用
recv()
一个
while(1)
循环来听命令。当它收到命令(例如
ls
)时,它会运行它并将输出发送回客户端。

连接到虚拟机,运行命令,然后退出比

ssh
快 3 倍(0.7 秒对 2.5 秒),但运行单个命令要慢得多。

例如。使用

ssh
,连接后,我运行一个命令,输出似乎(几乎?)即时,但在我的程序中有明显的延迟。

SSH 命令如何发送和返回如此之快?

networking ssh tcp network-programming
1个回答
0
投票

SSH命令之所以发送和返回如此之快,是因为SSH使用了一个叫做ControlMaster的多路复用特性。此功能允许多个 SSH 会话共享一个网络连接,从而减少建立新连接的开销

© www.soinside.com 2019 - 2024. All rights reserved.