首页 > 解决方案 > smbj API 是否支持 SMB v3.x 方言版本?

问题描述

使用 smbj API 打开 SMB 连接时引发异常。它说:“SMB 3.x 支持尚未实现”。从“SMB2NegotiateRequest.putCapabilities(SMBBuffer buffer)”方法抛出异常。

下面是打开连接的代码片段。ide 是与支持任何上述方言版本的服务器建立连接。

    SMB2Dialect [] supportedSmdDialects = {
            SMB2Dialect.SMB_2_0_2,
            SMB2Dialect.SMB_2_1,
            SMB2Dialect.SMB_2XX,
            SMB2Dialect.SMB_3_0,
            SMB2Dialect.SMB_3_0_2,
            SMB2Dialect.SMB_3_1_1
    };
    SmbConfig cfg = SmbConfig.builder().
            withDialects(supportedSmdDialects).
            withMultiProtocolNegotiate(true).
            build();
    SMBClient client = new SMBClient(cfg);
    Connection conn = client.connect(host); // This line throws

这段代码有什么问题,还是smb v3x实际上没有实现?

标签: smbj

解决方案


目前确实没有实现 SMBv3 支持。要进行连接,请从阵列中删除 SMB3+ 方言。


推荐阅读