當(dāng)我們需要進(jìn)行客戶端與服務(wù)器之間通信,我們需要用到socket來完成這方便的操作,它可以為您搭建一個socket服務(wù)端來進(jìn)行一些通信操作
當(dāng)我們需要使用javascript來進(jìn)行與服務(wù)器連接時,我們需要依賴插件目錄下的socket.io.js文件來進(jìn)行操作,具體引用路徑可以參考【系統(tǒng)常量】一欄
基本操作
- 設(shè)置創(chuàng)建地址端口與類型 - option($address,$port,$type='ws')
例:$socket->option('127.0.0.1','1234');//當(dāng)我們通過socket方法進(jìn)行操作就可以不需要進(jìn)行option過程了,這個方法可忽略
$socket是socket方法返回的對象- 綁定事件 - on($event,$callback)
例:$socket->on('connect',function($ws,$uid){ //操作內(nèi)容 });- 單向推送(請求/推送) - push($event, $uid, $msg, $callback = null)
例:$ws->push('msg', $uid, 'hello');//這里的$ws是on事件callback里的參數(shù)- 單向發(fā)送(響應(yīng)) - send($event, $uid, $msg);
例:$ws->send('msg', $uid, 'hello');- 廣播消息 - sendall($event, $msg, $callback = null)
例:$ws->sendall('msg','hello')- 運(yùn)行監(jiān)聽 - run()
例:$socket->run()- 關(guān)閉客戶端連接 - close($uid)
例:$ws->close($uid)- 編碼 - code($msg)
例:$socket->code($msg)- 解碼 - uncode($str)
例:$socket->uncode($str)其他操作
- 設(shè)置最大連接限制 - setMaxConnectCount($num)
- 獲取當(dāng)前連接數(shù) - getCurConnectCount()
- 獲取最大連接限制 - getMaxConnectCount()
- 設(shè)置最大等待時間 - setWaiteTime($long=0)
操作websocket服務(wù)端必須在cli模式(命令行)下運(yùn)行,可以在任意地方建立一個bat文件,使用您的php.exe路徑 + php文件路徑,下次直接運(yùn)行bat文件即可打開監(jiān)視
服務(wù)端
客戶端:
更多建議: