關於GatewayClient 介紹和使用

GatewayClient

## 源碼

https://github.com/walkor/GatewayClientphp

根據GatewayWorker版本,選擇合適的GatewayClient版本,請參照【如何知道使用的GatewayWorker版本號?html

 

 

注意:GatewayClient3.0.0之後支持composer並加了命名空間GatewayClient git

 

注意:

1.若是GatewayClientGatewayWorker不是在同一臺服務器上,則須要先將start_gateway.php中的lanIp改爲當前服務器的內網ip(若是不在一個內網可改爲公網ip)。github

2.若是GatewayClient和GatewayWorker在同一臺服務器上運行,則不用作任何更改,直接按照示例使用GatewayClient便可。服務器

3.經過GatewayClient發送的數據不會通過Event.php,而是直接經由Gateway進程轉發給客戶端session

4.GatewayClient沒法接收客戶端發來的數據。composer

 

## 安裝(composer安裝適用於3.0.0及以上版本)

composer require workerman/gatewayclient

## 客戶端使用示例

require_once '/your/path/GatewayClient/Gateway.php'; /** * gatewayClient 3.0.0及以上版本加了命名空間 * 而3.0.0如下版本不須要use GatewayClient\Gateway; **/ use GatewayClient\Gateway; /** *====這個步驟是必須的==== *這裏填寫Register服務的ip(一般是運行GatewayWorker的服務器ip)和端口 *注意Register服務端口在start_register.php中能夠找到(chat默認是1236) *這裏假設GatewayClient和Register服務都在一臺服務器上,ip填寫127.0.0.1 *注意:ip不能是0.0.0.0 **/ Gateway::$registerAddress = '127.0.0.1:1236'; // 如下是調用示例,接口與GatewayWorker環境的接口一致 // 接口具體使用方法見《Lib\Gateway類提供的接口》一章 // 注意除了不支持sendToCurrentClient和closeCurrentClient方法 // 其它方法都支持 Gateway::sendToAll($data); Gateway::sendToClient($client_id, $data); Gateway::closeClient($client_id); Gateway::isOnline($client_id); Gateway::bindUid($client_id, $uid); Gateway::isUidOnline($uid); Gateway::getClientIdByUid($uid); Gateway::unbindUid($client_id, $uid); Gateway::sendToUid($uid, $data); Gateway::joinGroup($client_id, $group); Gateway::sendToGroup($group, $data); Gateway::leaveGroup($client_id, $group); Gateway::getClientCountByGroup($group); Gateway::getClientSessionsByGroup($group); Gateway::getAllClientCount(); Gateway::getAllClientSessions(); Gateway::setSession($client_id, $session); Gateway::updateSession($client_id, $session); Gateway::getSession($client_id);
相關文章
相關標籤/搜索