PHP的企業應用 WebService

2021-06-22 08:14:31 字數 2897 閱讀 2579

ping service,部落格程式提供一種通知機制,以便在第一時間將部落格的更新資訊發布到提供ping service服務的**,寫聚合的時候研究了一下

先看 標準 吧

這是乙個標準的ping service,用xmlrpc來傳資料的,注釋寫的這麼詳細,**說明就不需要了吧,php5開啟xmlrpc方法

方法$ping = xmlrpc_encode_request('weblogupdates.ping', array($title, $server ));

方法$extendedping = xmlrpc_encode_request('weblogupdates.extendedping', array($title, $server, $rss ));

//呼叫rpc_client_call函式把所有請求傳送給xml-rpc伺服器端後獲取資訊

$response = rpc_client_call($host, $port, $rpc_server, $ping);

$split = '<?xml version="1.0" encoding="iso-8859-1"?>';

$xml =  explode($split, $response);

$xml = $split . array_pop($xml);

$response = xmlrpc_decode($xml);

//輸出從rpc伺服器端獲取的資訊

print_r($response);

/*** 函式:提供給客戶端進行連線xml-rpc伺服器端的函式

* 引數:

* $host  需要連線的主機

* $port  連線主機的埠

* $rpc_server xml-rpc伺服器端檔案

* $request  封裝的xml請求資訊

* 返回:連線成功成功返回由伺服器端返回的xml資訊,失敗返回false

*/function rpc_client_call($host, $port, $rpc_server, $request)

$contents = '';

while (!feof($fp))

fclose($fp);

return $contents;

}?>

server.php

<?php

/*** 函式:提供給rpc客戶端呼叫的函式

* 引數:

* $method 客戶端需要呼叫的函式

* $params 客戶端需要呼叫的函式的引數陣列

* 返回:返回指定呼叫結果

*/function rpc_server_extendedping($method, $params)

function rpc_server_ping($method, $params)

//產生乙個xml-rpc的伺服器端

$xmlrpc_server = xmlrpc_server_create();

//註冊乙個伺服器端呼叫的方法rpc_server,實際指向的是rpc_server_extendedping函式

xmlrpc_server_register_method($xmlrpc_server, "weblogupdates.extendedping", "rpc_server_extendedping");

xmlrpc_server_register_method($xmlrpc_server, "weblogupdates.ping", "rpc_server_ping");

//接受客戶端post過來的xml資料

//執行呼叫客戶端的xml請求後獲取執行結果

$xmlrpc_response = xmlrpc_server_call_method($xmlrpc_server, $request, null);

//把函式處理後的結果xml進行輸出

header('content-type: text/xml');

echo $xmlrpc_response;

//銷毀xml-rpc伺服器端資源

xmlrpc_server_destroy($xmlrpc_server); 

?>

類寫的,有bug

<?php

class pings

//註冊乙個伺服器端呼叫的方法rpc_server,實際指向的是ping函式

public function rpc_server()

/*** 函式:提供給rpc客戶端呼叫的函式

* 引數:

* $method 客戶端需要呼叫的函式

* $params 客戶端需要呼叫的函式的引數陣列

* 返回:返回指定呼叫結果

*/    

public function ping($method, $params)

public function update()

public function run()

//銷毀xml-rpc伺服器端資源

public function __destruct()

}$obj = new pings ( );

?>

webservice的最常用的兩種方法算是寫齊了

18 webserv 流socket的應用

1 伺服器設計 學習了網路程式設計的基本操作和設計原則,建立乙個web伺服器,這是乙個典型的socket流的客戶端 伺服器系統。伺服器設立服務,然後進入迴圈接收和處理請求。客戶端連線到伺服器,然後傳送 接收或者交換資料,最後退出。該互動過程主要包含3個操作 2 建立伺服器socket 設立乙個服務一...

關於delphi呼叫c 寫的webservice

因為這次專案涉及到跨平台的,所採用delphi呼叫webservice 一開始的時候用delphi自動生成wsdl。呼叫hellowordl成功。非常開心,可是問題來了,helloworld是不需要傳引數,於是我就寫了乙個簡單的函式 public string returnstr string tt...

Nginx企業應用

1 請求頭設定引數 location中 nginx支援在原請求裡新增和設定引數 proxy set header host host 設定請求host為客戶端訪問的網域名稱 指向nginx虛擬服務 由於nginx重發了一次請求,所以預設服務節點收到的請求host為反向 指向的服務節點的host。2 ...