Gateway::sendToClient
說明:
void Gateway::sendToClient(string $client_id, string $send_data);
向客戶端client_id發(fā)送$send_data
數(shù)據(jù)。如果client_id對應(yīng)的客戶端不存在或者不在線則自動丟棄發(fā)送數(shù)據(jù)
參數(shù)
$client_id
客戶端連接的client_id
$send_data
要發(fā)送的數(shù)據(jù)(字符串類型),此數(shù)據(jù)會被Gateway所使用協(xié)議的encode方法打包后再發(fā)送給客戶端
返回值
因為數(shù)據(jù)發(fā)送是異步進行的,所以沒有返回值。一般來說只要客戶端在線就可以發(fā)送成功。
發(fā)送前先可以用Gateway::isOnline判斷下客戶端是否在線。
范例
use \GatewayWorker\Lib\Gateway;
class Events
{
...
public static function onMessage($client_id, $message)
{
// $message = '{"type":"say_to_one","to_client_id":100,"content":"hello"}'
$req_data = json_decode($message, true);
// 如果是向某個客戶端發(fā)送消息
if($req_data['type'] == 'say_to_one')
{
// 轉(zhuǎn)發(fā)消息給對應(yīng)的客戶端
Gateway::sendToClient($req_data['to_client_id'], $req_data['content']);
}
}
...
}