本文整理汇总了Java中org.apache.sshd.ClientChannel类的典型用法代码示例。如果您正苦于以下问题:Java ClientChannel类的具体用法?Java ClientChannel怎么用?Java ClientChannel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClientChannel类属于org.apache.sshd包,在下文中一共展示了ClientChannel类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: call
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
@Test(timeout = 10000L)
public void call() throws Exception {
final SshClient client = SshClient.setUpDefaultClient();
client.start();
try {
final ClientSession session = client.connect("localhost", 4222).await().getSession();
session.authPassword("jonathan", "secret");
final ClientChannel channel = session.createChannel("shell");
ByteArrayOutputStream sent = new ByteArrayOutputStream();
PipedOutputStream pipedIn = new TeePipedOutputStream(sent);
channel.setIn(new PipedInputStream(pipedIn));
ByteArrayOutputStream out = new ByteArrayOutputStream();
ByteArrayOutputStream err = new ByteArrayOutputStream();
channel.setOut(out);
channel.setErr(err);
channel.open();
pipedIn.write("properties\r\n".getBytes());
pipedIn.flush();
pipedIn.write("exit\r\n".getBytes());
pipedIn.flush();
channel.waitFor(ClientChannel.CLOSED, 0);
channel.close(false);
client.stop();
assertTrue(new String(sent.toByteArray()).contains("properties\r\nexit\r\n"));
assertTrue(new String(out.toByteArray()).contains("ServerService(id=ssh)"));
} catch (Exception e) {
e.printStackTrace();
fail();
}
}
示例2: SessionTerminal
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
/**
* Constructor that creates creates the terminal and
* connects the I/O streams to the server
* @throws IOException
*/
public SessionTerminal() throws IOException {
try {
this.terminal = new Terminal(TERM_WIDTH, TERM_HEIGHT);
in = new NoClosePipedOutputStream();
out = new NoClosePipedInputStream();
NoClosePipedOutputStream pipedOut = new NoClosePipedOutputStream(out);
NoClosePipedInputStream pipedIn = new NoClosePipedInputStream(in);
channel = session.createChannel(ClientChannel.CHANNEL_SHELL);
channel.setIn(pipedIn);
channel.setOut(pipedOut);
channel.setErr(pipedOut);
new Thread(this).start();
channel.open();
} catch (Exception e) {
e.printStackTrace();
}
}
示例3: open
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
/**
* Should be called after setting {@link #setIn(InputStream)}
* {@link #setOut(OutputStream)} {@link #setErr(OutputStream)}
*
* @since 1.0
* @throws SshProxyJException
*/
public void open() throws SshProxyJException {
try {
this.channel.open();
new Thread(new Runnable() {
public void run() {
channel.waitFor(ClientChannel.CLOSED, 0);
close();
}
}).start();
} catch (Exception e) {
throw new SshProxyJException("Failed to open channel", e);
}
}
示例4: messageReceived
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
@Override
public void messageReceived(IoSession session, Readable message) throws Exception {
TcpipClientChannel channel = (TcpipClientChannel) session.getAttribute(TcpipClientChannel.class);
Buffer buffer = new Buffer();
buffer.putBuffer(message);
channel.waitFor(ClientChannel.OPENED | ClientChannel.CLOSED, Long.MAX_VALUE);
channel.getOut().write(buffer.array(), buffer.rpos(), buffer.available());
channel.getOut().flush();
}
示例5: getClientChannel
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
public ClientChannel getClientChannel() {
return channel;
}
示例6: setClientChannel
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
public void setClientChannel(ClientChannel channel) {
this.channel = channel;
}
示例7: SshConnection
import org.apache.sshd.ClientChannel; //导入依赖的package包/类
public SshConnection(ClientSession session, ClientChannel channel)
throws SshProxyJException {
this.session = session;
this.channel = channel;
}