利用PHPRPC以及SOAP分别实现PHP的Webserver功能
服务端:phprpc服务端
<?php
/* phprpc 服务端演示
* time:2014-06-23
*/
require_once 'phprpc_server.php';//引入服务端
class test {//生成一个类
public function get($data = 'Java'){
return 'Hello '.$data;
}
}
$handle = new phprpc_server();//实例化服务端
$handle->add('get','test');//添加test类中的get方法
$handle->start();//握手开始
?>
服务端:soap服务端
<?php
/* soap 服务端演示
* time:2014-06-23
*/
class test {//生成一个类
public function get($data = 'Java'){
return 'Hello '.$data;
}
}
$config = array(
'location'=>'http://127.0.0.1/soap_server.php',
'uri'=>'soap_server.php'
);
$handle = new SoapServer(null,$config);//实例化服务端
$handle->setClass('test');//添加整个test类
$handle->handle();//握手开始
?>
客户端:phprpc客户端
<?php
/* phprpc 客户端演示
* time:2014-06-23
*/
require_once 'phprpc_client.php';//引入客户端
$handle = new PHPRPC_CLIENT('http://127.0.0.1/server.php');//实例化客户端并传入服务端url
echo $handle->get('Php!!');//调用get函数
?>
客户端:soap客户端
<?php
/* soap 客户端演示
* time:2014-06-23
*/
$config = array(
'location'=>'http://127.0.0.1/soap_server.php',
'uri'=>'soap_server.php'
);
$handle = new SoapClient(null,$config);
ECHO $handle->get('Java!!');
?>
个人愚见:说白了,两者都是通过序列化数据后进行传输,且表现形势与操作代码几乎一致,其他貌似还有很多这种实现webserver功能的方法:;事实作为我来说,我只需要了解其中的一些原理,会用一种即可。
利用PHPRPC以及SOAP分别实现PHP的Webserver功能的更多相关文章
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
- 利用onekeyup即可实现验证码的点击刷新功能
显示验证码 首先在Home/Controller下创建一个公共控制器PublicController 1 <php2 namespace Home\Controller;3 4 use Thin ...
- 利用 html的锚点(元素a)功能实现ajax单页面应用的浏览器后退前进功能
一.问题 随着AJax技术的普及,单页面web程序的应用越来越广泛. 所谓单页面应用程序,简单的说,就是应用只有一个主网页,第一次加载后,后续页面只会利用js和ajax到服务器获取数据进行页面的局部刷 ...
- 利用java的net包来实在数据采集的功能
最近有好多朋友问我,数据抓取用java怎么做,就是每天把新浪的内地新闻频道的新闻前20条,抓到自己的网站或系统里,今天我统一在这里提供一个简单的例子,由于在这个过程中还需要解析html字符串,所以,我 ...
- Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能
上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...
- 利用bootstrap3的分页样式和jq实现分页功能
1源码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 生成EXCEL文件是经常需要用到的功能,我们利用一些开源库可以很容易实现这个功能。
方法一:利用excellibrary,http://code.google.com/p/excellibrary/ excellibrary是国人写的开源组件,很容易使用,可惜貌似还不支持.xlsx( ...
- Salesforce学习之路(四)利用Jenkins和Git实现Salesforce的CI/CD功能
上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...
- 工作任务:模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能
登入界面<% Cookie[] cks =request.getCookies(); String str=null; for(Cookie ck:cks) { if(ck.getName(). ...
随机推荐
- jar包冲突解决方法
import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Enumerati ...
- CSS skills: 1) Navigate item's animation
<style> .nav { border-right:1px solid #268eb7; } .nav li{overflow:hidden;height:55px;border-le ...
- python(5)-os模块
os.getcwd() 获取当前工作目录 os.chdir('dirname') 改变当前脚本的工作目录 os.curdir 返回当前目录名,即"." os.pardir 返回当前 ...
- [改善Java代码]静态变量一定要先声明后赋值
建议32: 静态变量一定要先声明后赋值 这标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下 ...
- 关于Merge的整理--Merge的使用方法和注意事项的Demo
上一篇文章中讲到了Merge的用法和注意事项,所以本人就想,做了一个Demo进行验证下. 一.Merge的使用 (1)activity中的onCreate方法中的setContentView(R.la ...
- sublime安装 less环境
工具的选择: mac-codekit simpless->跨平台 winless-windows less.js下载:http://pan.baidu.com/s/1o60yTZ0 安装L ...
- Linux 命令 - w: 显示登录的用户及其当前执行的任务
命令格式 w - [husfV] [user] 命令参数 -h 不打印头部信息 -u 当列出当前进程和 CPU 时间时忽略用户名,这主要是用于执行su命令后的情况. -s 使用简短的格式化,不打印 L ...
- Nginx - Additional Modules, About Your Visitors
The following set of modules provides extra functionality that will help you find out more informati ...
- MacBook Pro 的照相机在哪?
用于拍照 用于录制视频
- Smarty模板引擎技术二
Smarty模板引擎技术 内建函数 include_php内建函数 作用:载入一个php文件,将载入的文件的内容赋值给一个变量 注意:该内建函数只能在2.0中使用,如果使用的话,必须得实例化Sma ...