我正在尝试在 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上的客户端上。
答案 0 :(得分:1)
答案 1 :(得分:0)
我不完全明白你想用哪种语言调用哪种语言函数。
但是有两种主要的跨语言交流方式。
您只需使用套接字即可。在语言A的程序中创建一个侦听特定端口的套接字连接。在另一种语言B中,将参数传递给A程序中的函数,该函数正在侦听输入。它将执行该函数并将输出返回给B的程序。您可以在线轻松找到JAVA和C的套接字示例。
通过扩展语言进行沟通。这比socket更低级。它基本上是用另一种语言B从另一种语言A调用函数/库。例如,你可以将Python扩展为C like this。您可以使用Java Native Interface从JAVA调用C库函数。
根据您的使用和舒适程度,您可以使用上述任何方法进行跨语言服务实施。
答案 2 :(得分:0)
对于Windows端,您可以从DokanMirror开始。实现大多数回调,并且是一个足够好的框架。 Linux方面主要是你自己的代码,所以作为Socket接口。 使用TCP / IP套接字是一种过度杀伤,请注意线程挂起和超时。
一个。使登录成为一个用户空间应用程序,它将直接连接到您的Linux端并进行身份验证。 湾然后,此用户空间应用程序将安装并安装虚拟驱动器(使用dokan)。 C。在dokan-callbacks(用户空间)中,你可以使用tcp / ip连接你的linux盒子。
您对Samba的意思是什么?如果你想分享你的文件系统,那么perreal的回答(第5点)是正确的。