如題。比如說不在workerman環(huán)境下,如何根據(jù)client_id,判斷用戶是否在線,并且發(fā)送消息。
直接使用GatewayClient即可。
http://workerman.net/gatewaydoc/advanced/push.html
以下回復(fù)是針對老版本GatewayWorker的,已經(jīng)過期了,不再適用當(dāng)前版本。
其實比較簡單,就是要引用到Lib/Gateway.php這個文件
如果兩個項目在同一臺服務(wù)器上
直接引用require /your/path/workerman-xxx/applications/XXX/Lib/Gateway.php 就可以直接調(diào)用了
如果是不同機(jī)器上調(diào)用workerman的接口
也很簡單,需要以下步驟
以applications/Demo為例,你只需要將applications/Demo的代碼拷貝到你的新項目中任意目錄,然后引用新項目中Demo/Lib/Gateway.php即可。
注意:不同服務(wù)器上遠(yuǎn)程調(diào)用workerman接口需要開啟memcache,在 Config/Store.php 中配置public static $driver = self::DRIVER_MC,并配置memcache服務(wù)端的ip和端口
public static $gateway = array(
'192.168.0.1:11211',
);
// 如果還有其它的話
// public static $xxx=array(...
外部項目引用Lib\Gateway.php后就可以直接像下面這樣調(diào)用
use \Lib\Gateway;
Gateway::sendToClient($client_id, $message);
Gateway::sendToAll($message);
Gateway::isOnline($client_id);
Gateway....
注意 新項目中的Demo/Config 下的配置文件與你的workerman下的applications/Demo/Config要一致