# Gateway::sendToGroup
## 說明:
~~~
void Gateway::sendToGroup(mixed $group, string $message [, array $exclude_client_id = null [, bool $raw = false]]);
~~~
向某個分組的所有在線client_id發送數據。
## 參數
* $group
group可以是字符串、數字、或者數組。如果為數組,則是給數組內所有group發送數據
* $message
要發送的數據(字符串類型),此數據會被Gateway所使用協議的encode方法打包后再發送給客戶端
* $exclude_client_id
client_id組成的數組。$exclude_client_id數組中指定的client_id將被排除在外,不會收到本次發的消息
* $raw
是否發送原始數據,也就是繞過gateway協議打包過程,gateway對數據不再做任何處理,直接發給客戶端。
如果$raw為true,要求$message為用協議打包好的數據(調用了gateway指定協議的encode方法生成的數據),否則客戶端可能無法解析。
此參數一般用于某些特殊情況,例如合并多個數據包為一段buffer,一次性發給客戶端,而不是逐條發給客戶端,這將有助于降低系統負載。
絕大多數情況此參數用不到,開發者可以忽略。
## 更新日志
版本 說明
2.0.7 增加了$exclude_client_id和$raw參數
返回值
因為數據發送是異步進行的,所以沒有返回值。一般來說只要客戶端在線就可以發送成功。
范例
use \GatewayWorker\Lib\Gateway;
class Events
{
...
public static function onMessage($client_id, $message)
{
// $message = '{"type":"send_to_group","group":"xxxxx", "message":"...."}'
$req_data = json_decode($message, true);
Gateway::sendToGroup($req_data['group'], $req_data['message']);
}
...
}
- 快速入門
- 魔際客服系統V1.0簡介
- 新手上路
- 注冊并創建應用
- 通信過程及聊天記錄保存
- 實時消息回調
- Lib/Geteway類提供的接口
- sendToAll
- sendToClient
- closeClient
- isOnline
- bindUid
- unbindUid
- isUidOnline
- getClientIdByUid
- getUidByClientId
- sendToUid
- joinGroup
- leaveGroup
- sendToGroup
- getClientCountByGroup
- getClientSessionsByGroup
- getAllClientCount
- getAllClientSessions
- setSession
- updateSession
- getSession
- 服務端集成
- 入門
- 用戶體系集成
- 聊天記錄
- 文件上傳下載
- 發送消息
- 群組管理
- 聊天室管理
- 應用管理
- Web IM集成
- Web IM 介紹
- 集成方式
- Web SDK基礎功能
- 消息
- 好友管理
- 群組管理
- 聊天室管理
- 微信小程序 Demo
- Web SDK API Doc
- Web IM SDK 更新日志
- React Native集成
- React Native Demo 介紹