linux环境下安装PHP中间件ICE(二)
来源:互联网 发布:晨光麦事件 知乎 编辑:程序博客网 时间:2024/06/05 08:44
前面我们已经成功安装了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!
0 0
- linux环境下安装PHP中间件ICE(二)
- linux环境下安装PHP中间件ICE(二)
- linux环境下安装PHP中间件ICE(一)
- linux环境下安装PHP中间件ICE(三)
- linux环境下编译安装ICE
- PHP中间件ICE,ICE的安装配置,ICE常见编译和运行(异常)错误(自测Php版本安装部分,因为php版本跟ice版本不一样失败)
- Linux下安装ICE
- PHP中间件--ICE
- PHP中间件--ICE
- PHP中间件--ICE
- PHP中间件--ICE
- Ice读书笔记--中间件概念与Ice综述(二)
- linux安装ICE开发环境
- Linux下ICE的安装
- Linux下安装ICE(自测)
- PHP的中间件-ICE
- PHP的中间件-ICE
- Linux下安装PHP环境
- 彻底理解position与anchorPoint
- linux环境下安装PHP中间件ICE(一)
- 移动应用的主战场是游戏
- 超级硬盘数据恢复软件 4.6.5.0注册码破解版
- Codeforces Round #256 (Div. 2) #B Suffix Structures
- linux环境下安装PHP中间件ICE(二)
- linux环境下安装PHP中间件ICE(三)
- Jetty开发指导:Maven和Jetty
- 用实验方法加深理解Oracle的外连接(left/right/full)和内连接(inner)
- linux环境下编译安装ICE
- poj 1321
- GCD--自己的开发笔记
- ARC和非ARC混编
- 计算机视觉领域的一些牛人博客,研究机构等的网站链接