linux环境下安装PHP中间件ICE(二)
来源:互联网 发布:怎么用万捷网络验证 编辑:程序博客网 时间:2024/06/04 18:26
前面我们已经成功安装了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
阅读全文
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环境
- struts2_day02_12-表达式封装_13-比较表达式封装和模型驱动封装
- MapReduce实现矩阵相乘
- Unity菜单运行cmd,例:用explorer.exe打开某个目录
- 数据结构实验之图论八:欧拉回路
- 【BZOJ1007】水平可见直线(HNOI2008)-栈+凸壳
- linux环境下安装PHP中间件ICE(二)
- Filter实现自动用户自动登录功能(三)
- RestTemplate注入
- jQuery教程 8 AJAX
- MySQL之TIMESTAMP
- js DOM添加删除
- Tensorflow版TextCNN主要代码解析
- 实现可以输入多个圆的半径,求面积、周长
- java基础数据类型转换及基本运算符