当前位置: 首页>>代码示例>>Java>>正文


Java ClientChannel类代码示例

本文整理汇总了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();
    }
}
 
开发者ID:apache,项目名称:tomee,代码行数:36,代码来源:SSHServerTest.java

示例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();
	}
}
 
开发者ID:qoswork,项目名称:opennmszh,代码行数:23,代码来源:SSHTerminal.java

示例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);
	}
}
 
开发者ID:northshorefiend,项目名称:sshproxyj,代码行数:23,代码来源:SshConnection.java

示例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();
}
 
开发者ID:cloudnautique,项目名称:cloud-cattle,代码行数:10,代码来源:DefaultTcpipForwarder.java

示例5: getClientChannel

import org.apache.sshd.ClientChannel; //导入依赖的package包/类
public ClientChannel getClientChannel() {
	return channel;
}
 
开发者ID:northshorefiend,项目名称:sshproxyj,代码行数:4,代码来源:ProxySession.java

示例6: setClientChannel

import org.apache.sshd.ClientChannel; //导入依赖的package包/类
public void setClientChannel(ClientChannel channel) {
	this.channel = channel;
}
 
开发者ID:northshorefiend,项目名称:sshproxyj,代码行数:4,代码来源:ProxySession.java

示例7: SshConnection

import org.apache.sshd.ClientChannel; //导入依赖的package包/类
public SshConnection(ClientSession session, ClientChannel channel)
		throws SshProxyJException {
	this.session = session;
	this.channel = channel;
}
 
开发者ID:northshorefiend,项目名称:sshproxyj,代码行数:6,代码来源:SshConnection.java


注:本文中的org.apache.sshd.ClientChannel类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。