2016-01-05 207 views
1

我正在開發一個項目,該項目將包括一個服務器和一個客戶端組件,它將通過TCP/IP發送/接收請求/信息。服務器組件將用C++開發,我將使用boost.asio庫。客戶端組件將是一個Excel插件,並將在Visual Basic中開發。我有幾個一般問題,請注意,我並不期待任何具體的迴應,但期望聽到一些概念,以便我可以關注。C++服務器/客戶端網絡

我的問題如下。

  1. 服務器和客戶端將用不同的語言開發,是否有什麼可以擔心兩種開發語言之間的套接字通信?

  2. 我希望應用程序通過與LDAP系統集成來實現登錄/認證機制。是否有任何可用於此目的的C++庫? (如boost.asio用於TCP)

  3. 有沒有可以表明,在C++

  4. 用戶會話管理作爲我的應用程序的一部分的任何概念,將有需要將數據從服務器傳送到客戶端或副反之亦然。這些數據有時可能會有幾百到幾千行,上百列。通過套接字傳輸這些數據的最佳方式是什麼?數組是否適合這個?

我知道我的問題是非常高的水平,基本的,但你的答案將指向我的方向是正確的,並會幫助我專注於正確的概念。

在此先感謝。

回答

1
  1. 服務器和客戶端會用不同的語言開發的,有什麼可擔心的兩個發展中語言之間的socket通信?

不是真的,只要你有明確的線路格式。可以使用現有的HTTP/JSON,也可以自己定義。當界面稍微複雜時,可考慮使用CORBAICE之類的東西。

  • 我希望應用程序通過與LDAP系統集成有登錄/認證機制。是否有任何可用於此目的的C++庫? (像用於Boost.Asio的TCP)
  • 沒有爲OpenLDAP一個C++ API。我沒有經驗,所以在這裏沒有推薦或警告。

  • 有沒有,你可以在C提示用戶會話管理++
  • 這取決於你所需要的任何概念。最簡單的方法是按年齡排列會話對象的共享指針向量,但當重新啓動進程時,這些會話將全部失效。memcached中的會話在重啓過程中存活。當你想要重新啓動機器時,我更喜歡關係數據庫或文件中的會話數據。

    1. 作爲我的應用程序的一部分,將需要將數據從服務器傳輸到客戶端,反之亦然。這些數據有時可能會有幾百到幾千行,上百列。通過套接字傳輸這些數據的最佳方式是什麼?數組是否適合這個?

    您可以爲每個對象使用簡單的格式並簡單地對對象進行流式處理。例如。 CSV或JSON。另外考慮一個二進制固定格式,當你的大部分信息不是文本時。當然,最好的取決於數據的類型。