1. 程式人生 > >dubbo-php-framework的Protocol解析(一)

dubbo-php-framework的Protocol解析(一)

在分析TcpServer的分鐘中可以看到,worker程序啟動後的回撥函式中,框架會建立一個物件來完成後續的網路資料讀取和回覆,從這篇開始我們就分析這個物件本身,這個物件就是FSOFProtocol類的物件,引用程式碼如下:

//autoload 使用者的所有程式碼
    	$appRoot = AppAutoLoader::getFatherPath($appBootLoader, 1);
        AppAutoLoader::addRoot($appRoot);
        return new FSOFProtocol();

FSOFProtocol的程式碼位於dubbo-php-framework-master/provider/fsof/FSOFProtocol.php路徑下,根據其繼承體系,我們可以看到FSOFProtocol->BufferedProtocol->BaseProtocol->IProtocol,所以我們就從較簡單的類開始分析。

//介面定義
interface IProtocol
{
	function setServer($server);
    function getAppConfig();
    function onStart($server, $workerId);
    function onConnect($server, $client_id, $from_id);
    function onReceive($server,$client_id, $from_id, $data, $reqInfo = null);
    function onClose($server, $client_id, $from_id);
    function onShutdown($server, $worker_id);
    function onTask($serv, $task_id, $from_id, $data);
    function onFinish($serv, $task_id, $data);
    function onTimer($serv, $interval);
    function onRequest($request, $response);
}