概述

笔者准备在Electron框架下使用samba-client进行远程交互,结果发觉存在基本的使用问题,连基本的连接都有问题:samba-client 代码地址。

猜测可能与samba-server端使用版本有关。(难道samba-client不支持samba2?貌似没看到代码文档说明。)

smb2 (bchelli/mode-smb2)

bchelli/mode-smb2 Github地址
该库较为久远,所支持也很有限,尤其是其支持的uri地址,都比较像Windows专用,果然在测试了某些基本接口后发现如下类似问题:
smb2 read P3 err = Error: STATUS_ACCESS_DENIED (0xC0000022) : {Access Denied} A process has requested access to an object but has not been granted those access rights.

在github上找到了对应issue:https://github.com/bchelli/node-smb2/issues/17

This issue seems to be fixed here:
https://github.com/Node-SMB/marsaud-smb2 at least it worked with
“readdir” for me. For reference: Node-SMB#18 The docs show var SMB2 =
require(‘smb2’); but I had to use var SMB2 = require(‘@marsaud/smb2’);
to reference the package.

@marsaud/smb2 (Node-SMB/marsaud-smb2)

Node-SMB/marsaud-smb2 Github地址
该库从 bchelli/mode-smb2 Github地址 fork而来,作者近期还在维护,可靠度还是蛮高的。

使用如下指令安装即可:

npm install -g @marsaud/smb2@latest

简单测试了下对应的读取文件、下载文件、上传文件、创建目录等基本功能,还是比较靠谱的。唯独在测试上传文件(createWriteStream)时,总是会出现如下报错:

smb2 createWriteStream err = Error: STATUS_ACCESS_DENIED (0xC0000022): {Access Denied} A process has requested access to an object but has not been granted those access rights.

检查后发现,服务器中已经存在对应文件时,则会出现上述问题。经测试,该库基本功能完善,而且还提供了一些更灵活的功能:

smb2Client.open('path\\to\\the\\file', function(err, fd) {if (err) throw err;smb2Client.read(Buffer.alloc(10), // buffer where to store the data0, // offset in the buffer10, // number of bytes to read0, // offset in the filefunction(err, bytesRead, buffer) {smb2Client.close(fd, function() {});if (err) throw cb(err);console.log(bytesRead, buffer);});
});
This API is modeled after Node's fs module.Note: be careful of autoCloseTimeout with this process as it is not intended to cover multiple method calls, you should set it to 0 and manually disconnect().

可以根据实际需求自行扩展。

Electron下使用samba相关问题记录相关推荐

  1. 服务器安装centos5.5下安装samba服务器以及windows访问samba服务器

    最近使用开发的进程中出现了一个小问题,顺便记录一下原因和方法--服务器安装 windows下,想必大家都用过同享功能吧,的确很便利,直接把文件放在同享目录下即可. 那Linux下是如何实现这种同享功能 ...

  2. Linux下的samba服务配置详解

    Linux下的samba服务配置详解 一.Samba介绍 二.Samba工具及特性 三.搭建环境介绍 四.Samba配置步骤 1.服务端操作 2.在客户端操作 五.测试用户的权限情况 一.Samba介 ...

  3. DOS下常用网络相关命令解释(华为培训资料)

    DOS下常用网络相关命令解释 深圳市华为技术有限公司 华为技术 第一章引言 1. 概述 在我们的工作之中经常要和网络打交道而win95/98或是NT又是较常用的操 作系统在使用这些操作系统过程中使用频 ...

  4. centos7下cups + samba共打印服务的教程

    centos7系统我们用到的不多但是这款系统比centos6功能要强大了不少,下文来介绍一篇centos7下cups + samba,共打印服务的例子,具体如下所示. 这个算是rhce课程的篇外篇,S ...

  5. 介绍一下linux下的samba服务

    介绍一下linux下的samba服务 实验环境 VMware 6.5.2 +redhat Enterprise 5 AS 我的内核版本 上面两个是windows server 2003 共享文件时的画 ...

  6. 【Ubuntu系列】Ubuntu20.04系统下3060显卡驱动安装记录

    [Ubuntu系列]Ubuntu20.04系统下3060显卡驱动安装记录 设备及相关信息简介 具体安装步骤 step1 获取显卡硬件信息 step2 在Ubuntu系统中卸载显卡驱动 step3 安装 ...

  7. 架设linux服务器下的samba,Linux 服务器搭建之Samba服务

    Linux服务器搭建之Samba服务 一.Samba服务基础 Samba是著名的开源软件项目之一,它在Linux/UNIX系统中实现了微软的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容 ...

  8. H5二维码海报生成保存相关问题记录

    H5二维码海报生成保存相关问题记录 最近在开发H5页面中遇到二维码生成保存并下载到系统相册中的问题.问题大致分为:生成海报不全,未按照H5页面的显示进行海报保存,图片模糊等相关问题. 使用技术:qrc ...

  9. PX4固定翼调试校准流程及实验相关问题记录分析

    pixhawk固定翼调试流程 对于px4固件,其对应选择的一般是qgroundcontrol地面站(APM一般使用Mission Planner).本次调试的固件版本是1.6.5dev(最新的固件并不 ...

  10. 嵌入式相关问题记录concerto.mak

    嵌入式相关问题记录 1.concerto.mak文件(我理解这是一种makefile文件),如何增加宏定义 CPPFLAGS += -DXXX 其中,XXX是宏定义 2.关于编译时,因为代码编译器非常 ...

最新文章

  1. Asp.net MVC生命周期
  2. spark学习13(spark RDD)
  3. Algorithm:C++语言实现之链表相关算法(链表相加、链表的部分翻转、链表划分、链表去重、重复元素全部删除)
  4. [There will be more story......]
  5. ConcurrentHashMap的红黑树实现分析
  6. micropython固件源码_Micropython加速物联网开发7 - Micropython源码编译与固件更新
  7. MySQL innosetup_jdk,tomcat,mysql,innosetup封装
  8. ServletContext(重要)
  9. vue2.0项目结构和打包发布
  10. tensorflow线性回归基础函数
  11. maven坐标Dependencies和Exclusions详解
  12. 47多项式02——整除
  13. 矩阵转置---c语言实现
  14. 博途IEC TIME数据类型_基于博途V15 西门子S7-1200数据处理指令应用-移动操作
  15. 硬盘位置不可用因格式变RAW而打不开:文件或目录损坏且无法读取/此卷不包含可识别的文件系统等无法访问错误-CHKDSK被中止
  16. 50个BA分析工具第二个-Balanced ScoreCard
  17. 【非洲秃鹫优化算法】基于非洲秃鹫优化算法求解单目标优化问题(AVOA)含Matlab源码
  18. AI丨亚马逊将在加州欧文地区测试其自动送货机器人Scout
  19. python2和pytho3切换_电脑上同时安装Python2和Pytho
  20. VScode 淡绿色界面

热门文章

  1. 鸿蒙系统基于java,鸿蒙系统基于Linux打造,其本质还是安卓系统?
  2. 请不要滥用SharedPreference
  3. BZOJ2438[中山市选2011] 杀人游戏
  4. BZOJ2190 [SDOI2008]仪仗队
  5. Luogu2992[USACO10OPEN] Triangle Counting
  6. html框架 book,HTML框架的基本结构的.doc
  7. k8s pod部署到不同node_应用部署演进(二)
  8. mysql一张表能存多少条数据不影响性能_MySQL|优化案例两则
  9. python文本词频统计是字典吗,只使用字典python3计算.txt文件中的词频
  10. python预定义_[Python] Pycharm 预定义 coding 模板