这让我的编程最近非常令人沮丧。
我现在在阿根廷,通过 SSH 连接到美国服务器。可以理解的是,这里的 ping 值要高一些(平均大约 200 毫秒),所以当我通过 SSH 连接到服务器时,每次击键之间都会有明显的延迟。这很好,很容易使用。
不太容易处理的是,大约每 5 分钟左右,SSH 将完全挂起并需要大约 3-5 分钟才能返回提示。我知道服务器没有陷入困境,因为我可以在等待一个返回时轻松打开几个新连接(实际上这是我能够工作的唯一方法)。当 SSH 终于回来时,我可以看到它实际上一直在后台运行(大文件下载是测试这一点的好方法),但它只是没有更新我的屏幕。
有谁知道可能是什么原因造成的?
几乎没有其他事实:服务器是 Ubuntu,我正在连接 Mac OS X。我在 SSH 设置中打开了 keepalive。当我按住一个快速发送大量键的键(例如,左箭头或右箭头滚动)时,它最有可能挂起。事实上,我可以通过登录并按住像“a”这样的任何键来可靠地重现挂起——它在挂起之前永远不会超过一整行的“a”。这只是在我第一次国际连接时开始的,所以我假设它与此有关(延迟?)但不能肯定地说。