首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有支持java.nio.channels.SocketChannel的ssh客户端?

有没有支持java.nio.channels.SocketChannel的ssh客户端?
EN

Stack Overflow用户
提问于 2012-08-20 15:35:21
回答 2查看 1.9K关注 0票数 4

我开发了一个代理应用程序,用户可以通过telnet连接到它,并发送"connect to xxx“命令来连接到ssh服务器。我使用JSch作为我的ssh客户端:

代码语言:javascript
复制
JSch jsch = new JSch();
Session session = jsch.getSession(username, ip, 22);
Channel channel = session.openChannel("shell");
InputStream inp = channel.getInputStream();
OutputStream oup = channel.getOutputStream();
MyReader myReader = new MyReader(userOutputStream, inp);
new Thread(myReader).start();
MyWriterThread myWriter = new MyWriter(userInputStream, oup);
new Thread(myWriter).start();

然后在这两个新线程中分别处理输入和输出。但是对于过多的并发线程,随着用户数的增加,代理的性能会迅速下降。所以我想使用java.nio.channels.Selector和SocketChannel来减少线程数量。然而,我找不到支持java.nio.*的ssh客户端(例如: JSch、Apache sshd、sshtools等)。还有其他的ssh客户端支持java nio吗?或者有没有一些方法可以连接输入/输出流与选择器和SocketChannel?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-16 07:49:29

截至2015年,JSCH有一个nio分支:

https://github.com/lucastheisen/jsch-nio

我已经用过它了,它确实显著地提高了吞吐量。

票数 3
EN

Stack Overflow用户

发布于 2016-04-02 08:56:09

还有eBay的Parallec,它使用Akka

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12033813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档