Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
golang.org/x/crypto/ssh服务器中的多个通道_Go_Ssh_Server_Channels - Fatal编程技术网

golang.org/x/crypto/ssh服务器中的多个通道

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(),然后生成

golang ssh包中的ssh.ServerConn类型是否支持同一传输上的多个ssh通道? 我正在为允许通过SSH提供多个服务的设备编写一个模拟器,而Go中的SSH服务器实现似乎一次只支持一个通道。我知道客户机启动SSH连接,然后根据需要打开多个通道用于tcp端口转发和SFTP,但ServerConn类型似乎一次只接受一个通道


我有一个Goroutine来服务,当您从服务器调用
OpenChannel
时,是否会出现错误?是连接另一端的客户端打开了通道。。。我正在使用.Accept(),然后生成Goroutines来服务请求并处理读/写操作。第一个通道正常打开并且正在进行主动通信,但是当远程客户端尝试在另一端打开另一个通道时,ssh.NewChannel不会到达Go通道,除非第一个通道被强制关闭。服务器可以接受多个通道请求,听起来你不是在为代码中的某个人提供阻塞go通道服务。请创建一个显示您遇到的问题的列表。我终于解决了问题-问题始终存在于客户端。客户端为每个服务打开一个单独的传输,而不是一个具有多个通道的单一传输。我专注于只查看通道,以了解当我中断通道时,客户端正在重新初始化整个连接。我允许程序接受多个连接,每个连接都有一个单独的SSH传输,客户端为每个服务打开一个连接。
for c := range chans {