2013-03-14 24 views
0

我努力讓自己在一個Mysql數據庫頂部的保險絲文件系統,並以此從Windows客戶端這個客戶端請求FUSE實現上Java服務器傳遞在SAMBA上的linux端 !!與C和Java

我需要知道如何設置這種實施

工作的:

步驟1:在Windows客戶端將登錄。

步驟2:登錄後,用戶發出'ls'命令。

步驟3:此命令應該被處理連線爲C函數

步驟4:反過來C函數發出命令如使用JSONCpp或儲蓄

步驟5的參數Java服務器:該函數調用在Linux上運行的Java服務器上運行。

步驟6:Java服務器與MySQL數據庫進行交互並獲取結果

步驟7:該結果應的窗口上客戶機終端上顯示。

回答

0

我不完全明白你想用哪種語言調用哪種語言功能。

但是,跨語言交流有兩種主要方式。

  • 您可以簡單地使用套接字。在語言A的程序中創建一個套接字連接,用於監聽特定的端口。在另一種語言B中,將參數傳遞給正在監聽輸入的A程序中的函數。它將執行該功能並將輸出返回給B的程序。您可以輕鬆找到JAVA和C聯機的套接字示例。

  • 通過擴展語言溝通。這比套接字更低級。它基本上是用不同語言B的另一種語言A調用函數/庫。例如,您可以將Python擴展爲C like this。您可以使用Java Native Interface從JAVA調用C庫函數。

根據您的使用和舒適度級別,您可以使用上述任何方法來實現跨語言服務。

1
  1. 編寫具有您要處理的回調的熔絲文件系統。
  2. 通過Java代碼監聽的本地套接字轉發熔絲回調。
  3. Java服務器運行查詢並通過套接字返回結果(在2中)。
  4. 保險絲系統返回它從插座讀取的信息(2)
  5. 將保險絲系統分享到桑巴舞。
+0

非常感謝!任何關於FS提供此服務的Fuse Filesystem或Skeletal視圖的想法?因爲我在期限內! – 2013-03-14 07:18:26

+0

對不起,不知道,但好像你可以找到一些模板保險絲例子快速啓動。祝你好運:) – perreal 2013-03-14 07:23:19

+0

這很好! ..謝謝!!! – 2013-03-14 07:25:21

0

對於窗戶邊,你可以用DokanMirror開始。實現大多數回調,並且是一個足夠好的框架。 Linux端將主要是你自己的代碼,所以作爲Socket接口。 使用TCP/IP套接字是一個矯枉過正的選擇要謹慎線程掛起和超時。

a。使登錄成爲一個用戶空間應用程序,它將直接連接到你的linux端並進行身份驗證。 b。然後,這個用戶空間應用程序將安裝並掛載一個虛擬驅動器(使用dokan)。 c。在dokan-callbacks(用戶空間)中,您可以使用tcp/ip連接到您的linux機器。

你什麼了桑巴意思?如果你打算分享你的文件系統,那麼perreal的答案(第5點)是正確的。