一個(gè)網(wǎng)站有很多頁(yè)面,我想要我的連接,只要不離開(kāi)當(dāng)前網(wǎng)站都有效,都能怍到消息,哪怕刷新頁(yè)面,能達(dá)到這個(gè)效果嗎?
websocket不就是干這個(gè)的嗎?
在JS里,我知道可以這樣來(lái)鏈接
ws = new WebSocket("127.0.0.1:8282");
ws.onmessage = function(e){
接收動(dòng)作
}
ws.send(message);//發(fā)送
那么,在php里如何寫(xiě)呢?我沒(méi)搞懂,求助!
沒(méi)看手冊(cè)吧,你要的這功能官方手冊(cè)全有現(xiàn)成的API,單發(fā): Gateway::sendToClient();組播:Gateway::sendToGroup();廣播:Gateway::sendToAll()等等
不是,我沒(méi)表達(dá)清楚我的意思,你說(shuō)的是Events.php里的用法,我是說(shuō)我上面的JS代碼,如果用PHP來(lái)做,應(yīng)該要怎么做。
我現(xiàn)在能用JS連接的,但如果我有一個(gè)php頁(yè)面,要在這個(gè)頁(yè)面里發(fā)送數(shù)據(jù)到Events.php,該怎么寫(xiě)
有兩種方法:
1、用workerman自帶的AsyncTcpConnection作為客戶(hù)端去連gateway (現(xiàn)成的啥都有)
2、用PHP自帶的stream 流API或者socketAPI 封裝客戶(hù)端去連gateway(自己造,麻煩)