yii2-websocket ¶
å¨ yii2 ä¸è¿è¡ WebSocket æå¡ã
驱å¨æ¯æ ¶
å®è£ ¶
å®è£ æ¤æ©å±ç¨åºçé¦éæ¹æ³æ¯éè¿ composer.
ç¼è¾è¿è¡
php composer.phar require --prefer-dist yiiplus/yii2-websocket "^1.0.0"
ææ·»å é
ç½®å°é¡¹ç®ç®å½ä¸çcomposer.json
æ件ç require é¨å
"yiiplus/yii2-websocket": "^1.0.0"
åºæ¬ä½¿ç¨ ¶
æ¯ä¸ª channel çåè½é½éè¦å®ä¹ä¸ä¸ªåç¬çç±»ãä¾å¦ï¼å¦æä½ éè¦ä¸ºæå®å®¢æ·ç«¯æ¨éä¸æ¡æ¶æ¯ï¼å该类å¯è½å¦ä¸æ示ï¼
namespace xxx\channels;
class PushMessageChannel extends BaseObject implements \yiiplus\websocket\ChannelInterface
{
public function execute($fd, $data)
{
return [
$fd, // 第ä¸ä¸ªåæ°è¿å客æ·ç«¯IDï¼å¤ä¸ªä»¥æ°ç»å½¢å¼è¿å
$data // 第äºä¸ªåæ°è¿åéè¦è¿åç»å®¢æ·ç«¯çæ¶æ¯
];
}
public function close($fd)
{
return;
}
}
以ä¸æ¯ä»å®¢æ·ç«¯åéæ¶æ¯çæ¹æ³ï¼
Yii::$app->websocket->send(['channel' => 'push-message', 'message' => 'ç¨æ· xxx éäºä¸å°é£æºï¼']);
æ§è¡ä»»å¡çç¡®åæ¹å¼åå³äºä½¿ç¨ç驱å¨ç¨åºã 大å¤æ°é©±å¨ç¨åºå¯ä»¥ä½¿ç¨æ§å¶å°å½ä»¤è¿è¡ï¼ç»ä»¶éè¦å¨åºç¨ç¨åºä¸æ³¨åã
æ¤å½ä»¤å¯å¨ä¸ä¸ªå®æ¤è¿ç¨ï¼è¯¥å®æ¤è¿ç¨ç»´æ¤ä¸ä¸ª WebSocket Serverï¼æ ¹æ®å®¢æ·ç«¯åæ¥çæ°æ®ï¼å¤çç¸å ³ channel çä»»å¡ï¼
yii websocket/start
æå ³é©±å¨ç¨åºç¹å®æ§å¶å°å½ä»¤åå ¶é项çæ´å¤è¯¦ç»ä¿¡æ¯ï¼è¯·åé ææ¡£ã
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.