日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHPRPC for PHP

發(fā)布時(shí)間:2025/3/17 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHPRPC for PHP 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

PHPRPC 是一個(gè)輕型的、安全的、跨網(wǎng)際的、跨語(yǔ)言的、跨平臺(tái)的、跨環(huán)境的、跨域的、支持復(fù)雜對(duì)象傳輸?shù)?、支持引用參?shù)傳遞的、支持內(nèi)容輸出重定向的、支持分級(jí)錯(cuò)誤處理的、支持會(huì)話的、面向服務(wù)的高性能遠(yuǎn)程過(guò)程調(diào)用協(xié)議。
下載地址:http://www.phprpc.org/zh_CN/download/
該版本直接解壓后就可以使用,其中
屬于公共文件。不論是客戶端還是服務(wù)器端都需要這些文件。
是客戶端文件,如果你只需要使用客戶端,那么只要有上面那些公共文件和這個(gè)文件就可以使用了,使用時(shí),直接在你的程序中包含 phprpc_client.php 就可以,公共文件不需要單獨(dú)包含。
這三個(gè)文件是服務(wù)器端需要的文件。
其中 dhparams 目錄中包含的是加密傳輸時(shí)用來(lái)生成密鑰的參數(shù)
dhparams.php 是用來(lái)讀取 dhparams 目錄中文件的類。
phprpc_server.php 是服務(wù)器端,如果你要使用 PHP 來(lái)發(fā)布 PHPRPC 服務(wù),只需要包含這個(gè)文件就可以了。公共文件和 dhparams.php 都不需要單獨(dú)包含。
PHP 4.3+、PHP 5、PHP 6
客戶端要求開啟 socket 擴(kuò)展。
服務(wù)器端需要有 IIS、Apache、lighttpd 等可以運(yùn)行 PHP 程序的 Web 服務(wù)器。
如果服務(wù)器端需要加密傳輸?shù)哪芰?#xff0c;必須要保證 session 配置正確。

<?php include('php/phprpc_server.php'); //加載文件 function hello($name) {return'Hello ' . $name; } $server = new PHPRPC_Server(); //創(chuàng)建服務(wù)端 $server->add(array('hello', 'md5', 'sha1')); //數(shù)組形式一次注冊(cè)多個(gè)函數(shù) $server->add('trim'); //單一注冊(cè) $server->start(); //開啟服務(wù) ?>

?

<?php include ("php/phprpc_client.php"); //加載文件 $client = new PHPRPC_Client('http://127.0.0.1/server.php'); //創(chuàng)建客戶端 并連接服務(wù)端文件 echo$client->Hello("word"); //調(diào)用方法 返回 hello word ?>


————————————————– —————————————————
服務(wù)端其他說(shuō)明:

<?php include('php/phprpc_server.php'); //加載文件 function hello($name) { return'Hello ' . $name; } class Example1 { staticfunction foo() { return'foo'; } function bar() { return'bar'; } } $server = new PHPRPC_Server(); //創(chuàng)建服務(wù)端 $server->add('foo', 'Example1'); //靜態(tài)方法直接調(diào)用 $server->add('bar', new Example1()); //非靜態(tài)方法 需要實(shí)例化 //注冊(cè)別名調(diào)用 $server->add('hello', NULL, 'hi'); //第三參數(shù)是函數(shù)的別名 客戶端通過(guò)別名來(lái)調(diào)用函數(shù) $server->add('foo', 'Example1', 'ex1_foo'); $server->add('bar', new Example1(), 'ex1_bar'); $server->setCharset('UTF-8'); //設(shè)置編碼 $server->setDebugMode(true); //打印錯(cuò)誤 $server->setEnableGZIP(true); //啟動(dòng)壓縮輸出雖然可以讓傳輸?shù)臄?shù)據(jù)量減少,但是它會(huì)占用更多的內(nèi)存和 CPU,因此它默認(rèn)是關(guān)閉的。 $server->start(); //開啟服務(wù) ?>


————————————————– —————————————————
客戶端其他說(shuō)明:

<?php include ("php/phprpc_client.php"); $client = new PHPRPC_Client(); $client->useService('http://127.0.0.1/server.php'); //遠(yuǎn)程調(diào)用地址 $client->setKeyLength(1000); //密鑰長(zhǎng)度 $client->setEncryptMode(3); //加密等級(jí)0-3 $client->setCharset('UTF-8'); //設(shè)置編碼 $client->setTimeout(10); //設(shè)置超時(shí)時(shí)間 echo$client->hi('PHPRPC'), "\r\n"; //調(diào)用函數(shù) echo$client->getKeyLength(), "\r\n"; //下面是返回值 echo$client->getEncryptMode(), "\r\n"; echo$client->getCharset(), "\r\n"; echo$client->getTimeout(), "\r\n"; ?>


————————————————– ————————————————— ———————-
關(guān)于session
<?php
include('php/phprpc_server.php');
class ExampleCounter {
function ExampleCounter() {
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
}
}
function inc() {
$_SESSION['count'] += 1;
}
functioncount() {
return$_SESSION['count'];
}
}
$server = new PHPRPC_Server();
$server->add(array('inc', 'count'), new ExampleCounter());
$server->start();
?>
<?php
include("php/phprpc_client.php");
$client = newPHPRPC_Client();
$client->useService('http://127.0.0.1/1.php');
$client->setTimeout(10);
echo $client->inc();
echo $client->count();
echo $client->inc();
echo $client->count();
?>
每次刷新都是新建的client 服務(wù)端并不能識(shí)別.

轉(zhuǎn)載于:https://my.oschina.net/mickelfeng/blog/85764

總結(jié)

以上是生活随笔為你收集整理的PHPRPC for PHP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。