Websocket

2018-01-09 17:50 更新

當(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ù)端

客戶端:

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號