在自己的程序中使用类似下面的代码监听 SSH 的全局请求:
for {
select {
case <-ctx.Done():
return nil
case req, ok := <-globalReqs:
if !ok {
return nil
}
// Handle request
fmt.Println("Received global request:", req.Type)
req.Reply(true, nil)
}
}
发现发来的请求有时候没有接收到, 而对端的提示是 reject, 甚至出现 reject, 成功 如此交替出现的情况 (那很公平调度了).
其实很明显是有啥东西和自己的代码在抢同一个通道, 但是因为我一直在找发送端的代码问题, 为这个问题浪费了一晚上的生命, 甚至怀疑这库有 bug
大多数 Linux 发行版的软件源中的 FFmpeg 版本都比较老旧,本文介绍如何在 Linux 系统上安装新版或任意版本的 FFmpeg 和 FFprobe.