Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C和JAVA实现FUSE_Java_Mysql_C_Samba_Fuse - Fatal编程技术网

用C和JAVA实现FUSE

用C和JAVA实现FUSE,java,mysql,c,samba,fuse,Java,Mysql,C,Samba,Fuse,我正试图在一个Mysql数据库上创建一个fuse文件系统,并从一个windows客户端使用它,这个客户端请求通过SAMBA传递到linux端的Java服务器 我需要知道如何设置这种实现 工作: 步骤1:windows端的客户端将登录 步骤2:登录后,用户发出“ls”命令 步骤3:此命令应作为C函数处理 步骤4:C函数反过来使用JSONCpp或Thrift将命令作为参数发送给Java服务器 步骤5:此函数调用在Linux上运行的Java服务器 步骤6:Java服务器与Mysql数据库交互并获取结果

我正试图在一个Mysql数据库上创建一个fuse文件系统,并从一个windows客户端使用它,这个客户端请求通过SAMBA传递到linux端的Java服务器

我需要知道如何设置这种实现

工作:

步骤1:windows端的客户端将登录

步骤2:登录后,用户发出“ls”命令

步骤3:此命令应作为C函数处理

步骤4:C函数反过来使用JSONCpp或Thrift将命令作为参数发送给Java服务器

步骤5:此函数调用在Linux上运行的Java服务器

步骤6:Java服务器与Mysql数据库交互并获取结果


步骤7:此结果应显示在windows上的客户端上。

我不太清楚您想从哪种语言调用哪种语言函数

但是有两种主要的跨语言交流方式

  • 您只需使用套接字即可。在语言a的程序中创建侦听特定端口的套接字连接。在另一种语言B中,将参数传递给a程序中正在侦听输入的函数。它将执行该函数并向B的程序返回一个输出。您可以在网上轻松找到JAVA和C的套接字示例

  • 通过扩展语言进行交流。这比套接字更低级。它基本上是从另一种语言B调用另一种语言A中的函数/库。例如,您可以将Python扩展到C。您可以使用从JAVA调用C库函数

根据您的使用情况和舒适程度,您可以将上述任何方法用于跨语言服务实现

  • 编写一个fuse文件系统,其中包含要处理的回调
  • 通过Java代码侦听的本地套接字转发fuse回调
  • Java服务器运行查询并通过套接字返回结果(如图2所示)
  • 保险丝系统返回从插座读取的信息(2)
  • 通过samba共享您的fuse系统

  • 对于windows端,可以从DokanMirror开始。实现大多数回调,是一个足够好的框架。Linux端大部分将是您自己的代码,所以作为套接字接口。 使用TCP/IP套接字是一种过度使用,请注意线程挂起和超时

    a。使登录成为一个用户空间应用程序,它将直接连接到linux端并进行身份验证。 B然后,这个用户空间应用程序将安装并装载一个虚拟驱动器(使用dokan)。 C在dokan回调(在用户空间中)中,您可以使用tcp/ip连接到您的linux设备


    你说的桑巴舞是什么意思?如果您打算共享文件系统,那么perreal的回答(第5点)是正确的。

    非常感谢!!!关于提供此服务的FS的Fuse文件系统或框架视图有什么想法吗??因为我快到最后期限了!!抱歉,不知道,但似乎您可以找到一些模板保险丝示例快速启动。祝你好运:)