golang.org/x/crypto/ssh服务器中的多个通道
golang ssh包中的ssh.ServerConn类型是否支持同一传输上的多个ssh通道? 我正在为允许通过SSH提供多个服务的设备编写一个模拟器,而Go中的SSH服务器实现似乎一次只支持一个通道。我知道客户机启动SSH连接,然后根据需要打开多个通道用于tcp端口转发和SFTP,但ServerConn类型似乎一次只接受一个通道golang.org/x/crypto/ssh服务器中的多个通道,go,ssh,server,channels,Go,Ssh,Server,Channels,golang ssh包中的ssh.ServerConn类型是否支持同一传输上的多个ssh通道? 我正在为允许通过SSH提供多个服务的设备编写一个模拟器,而Go中的SSH服务器实现似乎一次只支持一个通道。我知道客户机启动SSH连接,然后根据需要打开多个通道用于tcp端口转发和SFTP,但ServerConn类型似乎一次只接受一个通道 我有一个Goroutine来服务,当您从服务器调用OpenChannel时,是否会出现错误?是连接另一端的客户端打开了通道。。。我正在使用.Accept(),然后生成
我有一个Goroutine来服务,当您从服务器调用
OpenChannel
时,是否会出现错误?是连接另一端的客户端打开了通道。。。我正在使用.Accept(),然后生成Goroutines来服务请求并处理读/写操作。第一个通道正常打开并且正在进行主动通信,但是当远程客户端尝试在另一端打开另一个通道时,ssh.NewChannel不会到达Go通道,除非第一个通道被强制关闭。服务器可以接受多个通道请求,听起来你不是在为代码中的某个人提供阻塞go通道服务。请创建一个显示您遇到的问题的列表。我终于解决了问题-问题始终存在于客户端。客户端为每个服务打开一个单独的传输,而不是一个具有多个通道的单一传输。我专注于只查看通道,以了解当我中断通道时,客户端正在重新初始化整个连接。我允许程序接受多个连接,每个连接都有一个单独的SSH传输,客户端为每个服务打开一个连接。
for c := range chans {