官方安裝文件在:
這裡根據官方文件,演示在mac平台的安裝教程,
使用 homebrew直接安裝如下:
brew install ice
sudo cp -f ~/downloads/mcpp-2.7.2.tar.gz /library/caches/homebrew/mcpp-2.7.2.tar.gz
第一步,編寫ice的slice配置檔案,如下:
module demo ;
};
表明demo模組下存在乙個介面printer,提供乙個操作printstring
第二步,編譯該檔案生成對應語言原始檔,c++原始檔命令如下:
slice2cpp printer.ice
會生成兩個c++檔案,如下:
printer.cpp printer.h
然後編寫服務端,命名為server.cpp,**如下:
#include #include using namespace std;
using namespace demo;
class printeri : public printer ;
void
printeri::printstring(const string& s, const ice::current&)
int main(int argc, char* ar**)
catch (const ice::exception& e) catch (const char* msg)
if (ic) catch (const ice::exception& e)
}return status;
}服務端實現的printstring功能很簡單,直接輸出引數內容。
編譯命令如下:
c++ -i. -i/usr/local/cellar/ice/3.5.1_1/include -c printer.cpp server.cpp
c++ -o server printer.o server.o -l/usr/local/cellar/ice/3.5.1_1/lib -lice -liceutil
會生成server二進位制檔案服務端,執行./server命令即可監聽本地10000 埠。
第三步,編寫客戶端。
c++客戶端**如下:
#include #include using namespace std;
using namespace demo;
int main(int argc, char* ar**)
catch (const ice::exception& ex) catch (const char* msg)
if (ic)
ic->destroy();
return status;
}
客戶端呼叫printstring方法傳入引數為"hello world!",編譯命令同理如下:
c++ -i. -i/usr/local/cellar/ice/3.5.1_1/include -c printer.cpp client.cpp
c++ -o client printer.o client.o -l/usr/local/cellar/ice/3.5.1_1/lib -lice -liceutil
執行生成的client二進位制檔案,./client可以看到server端顯示如下:
可以看到客戶端呼叫printer的介面printstring成功
下面演示php的客戶端**編寫。首先執行命令
slice2php printer.ice
會在當前目錄下生成printer.php,然後編寫客戶端**client.php如下:
<?php
ini_set('include_path', ini_get('include_path') . path_separator . '/usr/local/cellar/ice/3.5.1_1/php/');
require 'ice.php';
require 'printer.php';
$ic = null;
trycatch(exception $ex)
直接呼叫php client.php同樣可以看到服務端顯示"hello world!"由此,可以看到,利用ice,php成功呼叫了c++實現的printer介面的printstring方法。
注:/usr/local/cellar/ice/3.5.1_1/是我本機位址。
類似dubbo的分布式RPC框架
模仿dubbo設計思路開發出來的一套分布式服務框架,本地測試通過,未經過生產環境測試,所以建議使用者經過嚴格測試或公升級後再考慮生產環境使用.發布出來是希望能給做這方面研究的人員參考,如果有問題還希望各位酌情拍磚.框架基於netty4實現socket通訊 基於apache curator實現zook...
ICE開發分布式程式
ice是zeroc公司開發的一款簡單高效的開源中介軟體平台,通過它可以快速地開發出高效 強壯 優雅的分布式的軟體。ice是zeroc公司開發的一款高效的開源中介軟體平台,全稱是internet communications engine。它的主要設計目標是 提供適用於異種環境的物件導向中介軟體平台。...
Ice 分布式 helloword詳解
所需要的軟體 vs2005,ice 3.3.1 vc80.msi,ice 3.3.1 thirdparty vc80.msi 一 環境配置 1 安裝ice 3.3.1 vc80.msi,安裝目錄設為c zeroc,完全安裝。2 安裝第三方依賴庫ice 3.3.1 thirdparty vc80.ms...