0

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

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

在职的:

第 1 步:Windows 端的客户端将登录。

第2步:登录后用户给出一个'ls'命令。

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

第 4 步:C 函数依次使用 JSONCpp 或 Thrift 将命令作为参数发送给 Java 服务器

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

第 6 步:Java Server 与 Mysql 数据库交互并获取结果

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

4

3 回答 3

1
  1. 编写一个包含您要处理的回调的 fuse 文件系统。
  2. 通过 Java 代码侦听的本地套接字转发熔断器回调。
  3. Java 服务器运行查询并通过套接字返回结果(在 2 中)。
  4. Fuse 系统返回它从套接字读取的信息(在 2 中)
  5. 通过 samba 共享您的保险丝系统。
于 2013-03-14T06:43:14.637 回答
0

我不完全了解您想从哪种语言调用哪种语言功能。

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

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

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

根据您的使用和舒适程度,您可以使用上述任何一种方法来实现跨语言服务。

于 2013-03-14T06:41:53.257 回答
0

对于 windows 端,你可以从 DokanMirror 开始。实现大多数回调,并且是一个足够好的框架。Linux 端将主要是您自己的代码,如 Socket 接口。使用 TCP/IP 套接字是一种过度杀伤,请注意线程挂起和超时。

一个。使登录成为一个用户空间应用程序,它将直接连接到您的 linux 端并进行身份验证。湾。然后,此用户空间应用程序将安装和挂载一个虚拟驱动器(使用 dokan)。C。在 dokan-callbacks(在用户空间)中,您可以使用 tcp/ip 连接到您的 linux 机器。

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

于 2013-05-05T06:38:36.410 回答