linux环境下安装PHP中间件ICE(二)
生活随笔
收集整理的這篇文章主要介紹了
linux环境下安装PHP中间件ICE(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前面我們已經成功安裝了ICE(詳情請查看:http://blog.php230.com/linux-install-php-middleware-environment-ice-part1.html),這里我們來搭建ICE服務端和客戶端的測試環境。
1、建立ice文件Printer.ice
module Demo{interface Printer{void printString(string s);}; };2、執行 slice2cpp Printer.ice 執行成功后可以看到當前目錄下生成了 Printer.cpp 和 Printer.h 兩個文件
3、新建Server.cpp
#include <Ice/Ice.h> #include <Printer.h> using namespace std; using namespace Demo; class PrinterI : public Printer { public: virtual void printString(const string& s, const Ice::Current&); }; void PrinterI:: printString(const string& s, const Ice::Current&) { cout << s << endl; } int main(int argc, char* argv[]) { int status = 0; Ice::CommunicatorPtr ic; try { ic = Ice::initialize(argc, argv); Ice::ObjectAdapterPtr adapter = ic->createObjectAdapterWithEndpoints( "SimplePrinterAdapter", "default -p 10000"); Ice::ObjectPtr object = new PrinterI; adapter->add(object, ic->stringToIdentity("SimplePrinter")); adapter->activate(); ic->waitForShutdown(); } catch (const Ice::Exception& e) { cerr << e << endl; status = 1; } catch (const char* msg) { cerr << msg << endl; status = 1; } if (ic) { try { ic->destroy(); } catch (const Ice::Exception& e) { cerr << e << endl; status = 1; } } return status; }4、編譯Server.cpp,執行:
g++ -I. -I/usr/include -o server Printer.cpp Server.cpp -L/usr/lib -lIce -lIceUtil
成功后會在同一目錄中生成server可執行文件。
5、創建PHP客戶端,執行命令:
slice2php Printer.ice
成功后,會在同一目錄中生成Printer.php文件
6、創建Client.php
<?php require 'Ice.php'; require 'Printer.php';$ic = null; try { $ic = Ice_initialize(); $base = $ic->stringToProxy("SimplePrinter:default -p 10000"); $printer = Demo_PrinterPrxHelper::checkedCast($base); if(!$printer) throw new RuntimeException("Invalid proxy");$printer->printString("Hello World!"); } catch(Exception $ex) { echo $ex; }if($ic) { // Clean up try { $ic->destroy(); } catch(Exception $ex) { echo $ex; } } ?>
7、打開一終端執行:./server
8、打開另一終端執行:php Client.php
執行成功后,我們發現每執行一次php Client.php都會在服務終端輸出?Hello World!
來源:http://blog.csdn.net/qq_16490557/article/details/37927807
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux环境下安装PHP中间件ICE(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gamesa风力是哪国品牌(gamesa
- 下一篇: 恐怖黎明(说一说恐怖黎明的简介)