iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 20
0
自我挑戰組

挑戰30天完成PHP聊天室範例系列 第 20

[Day20]第十九章-盤古開天(七)-WEBSOCKET SERVER端(1)

  • 分享至 

  • xImage
  •  

首先要建立一個WEBSOCKET的聊天室,
你必須要有client端和server端,
我們先來實做server端的部分,
首先我們先建立一個名為Sock的class類,

class Sock{
//do some
}

在這個class中至少要先宣告三個變數,

class Sock{
  public $sockets; //socket的連接池,即client連接進來的socket標記
  public $users;  //所有client連接進來的訊息,包括socket、client名字等
  public $master; //socket的resource,即前期初始化socket時返回的socket資源
//do some
}

變數宣告完後,回想一下之前的WEBSOCKET流程圖,
client連進來前,server 要先建立連線並且綁定IP和端口後監聽,
所以我們利用php的建構子 construct 讓他一進這個類就先執行,

class Sock{
  public $sockets; //socket的連接池,即client連接進來的socket標記
  public $users;  //所有client連接進來的訊息,包括socket、client名字等
  public $master; //socket的resource,即前期初始化socket時返回的socket資源

  public function __construct($address, $port){

    //創建socket並把保存socket資源在$this->master
    $this->master=$this->WebSocket($address, $port);
    $this->sockets=array($this->master);
  }
}

WebSocket()這個函數是自訂的,我們下一篇繼續~


上一篇
[Day19]第十八章-聊天室開頭的閒聊(三)-websocket交握協定
下一篇
[Day21]第二十章-盤古開天(八)-WEBSOCKET SERVER端(2)
系列文
挑戰30天完成PHP聊天室範例30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言