前端代碼
<script src="/vendor/webman/push/src/push.js"> </script>
<script>
// 建立連接
var connection = new Push({
url: 'ws://對應(yīng)ip:3131', // websocket地址
app_key: '0aa69a30a4bd1f24f0d574482b3660a2',
auth: '/plugin/webman/push/auth' // 訂閱鑒權(quán)(僅限于私有頻道)
});
// 假設(shè)用戶uid為1
var uid = 1;
// 瀏覽器監(jiān)聽user-1頻道的消息,也就是用戶uid為1的用戶消息
var user_channel = connection.subscribe('user-' + uid);
// 當(dāng)user-1頻道有message事件的消息時
user_channel.on('message', function(data) {
// data里是消息內(nèi)容
console.log(data);
});
</script>
后端 代碼
public function room()
{
dd('歡迎來到聊天室');
$api = new Api(
// webman下可以直接使用config獲取配置,非webman環(huán)境需要手動寫入相應(yīng)配置
'http://對應(yīng)ip:3131',
config('plugin.webman.push.app.app_key'),
config('plugin.webman.push.app.app_secret')
);
dd($api);
// 給訂閱 user-1 的所有客戶端推送 message 事件的消息
$api->trigger('user-1', 'message', [
'from_uid' => 2,
'content' => '你好,這個是消息內(nèi)容'
]);
return view('chat/room');
}
打印數(shù)據(jù)
騰訊云開啟了3131端口 0.0.0.0/0 寶塔也放行了
連接后發(fā)現(xiàn) 前端ws 連接返回code碼 101 發(fā)現(xiàn)不成功。
network的header頭返回 101 Switching Protocols
測試環(huán)境為 php7.43 redis7
以前用過聊天,只要開放端口,對應(yīng)ip跟協(xié)議(ws)就能通,這個暫時想不到是什么原因,有大佬指點(diǎn)一下嗎