org.apache.mina.filter.codec.ProtocolDecoderException:

org.apache.mina.filter.codec.ProtocolDecoderException: org.apache.mina.core.buffer.BufferDataException: dataLength: -1905626763 (Hexdump: 8E 6A 71 75 65 72 79 2E 65 61 73 79 75 69 2E 6D 69 6E 2E 6A 73 E5 BC 95 E7 94 A8 2E 0D 0A E9 BB 98 ....

原因:传输的文件过大超过了默认的缓存

解决:

		factory.setDecoderMaxObjectSize(Integer.MAX_VALUE);// 设定后服务器可以接收大数据 
		factory.setEncoderMaxObjectSize(Integer.MAX_VALUE); 

以验证,可行。

org.apache.sshd.client.SshClient是一个Java库,用于创建SSH客户端连接到远程服务器。它是Apache MINA SSHD项目的一部分,MINA SSHD是一个基于Apache MINA网络应用框架开发的SSH服务器和客户端的实现。 使用SshClient,你可以通过SSH协议与远程服务器进行安全的数据传输和命令执行。它提供了一些方便的方法来建立和管理SSH连接,包括身份验证、端口转发、SCP文件传输等。 你可以使用SshClient的API来创建一个SSH连接,并执行远程命令或传输文件。首先,你需要创建一个SshClient实例,然后使用该实例来建立连接并执行操作。以下是一个简单的示例代码: ```java import org.apache.sshd.client.SshClient; import org.apache.sshd.client.session.ClientSession; public class SSHClientExample { public static void main(String[] args) { try (SshClient client = SshClient.setUpDefaultClient()) { client.start(); // 建立SSH连接 try (ClientSession session = client.connect("hostname", 22).await().getSession()) { session.authPassword("username", "password"); // 执行远程命令 String command = "ls -l"; ClientChannel channel = session.createChannel(ClientChannel.CHANNEL_SHELL); channel.setIn(new NoCloseInputStream(new ByteArrayInputStream(command.getBytes()))); channel.setOut(new NoCloseOutputStream(System.out)); channel.open().verify(5, TimeUnit.SECONDS); channel.waitFor(ClientChannel.CLOSED, 0); channel.close(false); // 传输文件 String localFile = "localfile.txt"; String remoteFile = "remotefile.txt"; try (SftpClient sftpClient = session.createSftpClient()) { sftpClient.put(localFile, remoteFile); } } } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,这只是一个简单的示例,你需要根据你的实际需求进行相应的配置和处理。你可以在Apache MINA SSHD的官方文档中找到更多关于SshClient的详细信息和用法示例。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值