開發基礎:伺服器變數

» 伺服器變數

SmartFoxServer 2X框架提供了不同類型的伺服器變數,可以用來維護跨使用者、房間甚至是好友列表中好友的同步狀態。

一般來說,伺服器變數允許客戶端或是伺服端邏輯建立客製化的值,並且能夠在所屬範圍內自動更新。下面是三個主個要的伺服器變數類型,有著不同的範圍:

閱讀全文:開發基礎:伺服器變數

開發基礎:房間結構

» 房間結構

在任何的多人應用程式中,房間物件( Room object)都是其中一個最重要的基礎建構方塊中。他負責分組與將使用者連現在一起並且讓使用者能夠與彼此互動。從開發者的角度來看,它提供了有用的事件,能夠幫助建立應用程式邏輯,而且每個房間都能夠被不同的伺服端擴展程式管理。

在這節中我們將剖析由房間物件提個的許多特徵,以及在SFS2X框架中新的強力功能。

閱讀全文:開發基礎:房間結構

開發基礎:加入與建立房間

» 加入與建立房間

房間物件( Room object)是SFS2X的基礎建構方塊中的一部分。房間可以安排玩家,因此玩家可以”看”到彼此,並且與其他玩家互動。典型的房間使用例子像是在聊天程式中不同主題的房間,虛擬世界中的不同開會地點,或是在各種分類中的不同地點挑戰其他朋友。

房間建立的兩種方法:

  • 靜態的(Statically): 透過 AdminTool中的Zone Configurator 模組建立。這是在區域中建立持續存在的房間(譬如說一個大廳(Lobby))的有效方法。這類型房間會在SmartFoxServer 開啟時就被初始化。
  • 動態的(Dynamically):房間可以在執行期間由客戶端或是伺服端建立或摧毀。客戶端或是伺服端建立的房間並無差別。但是伺服端可以調整一些基於安全理由而不讓客戶端存取的部分。

閱讀全文:開發基礎:加入與建立房間

建立基於擴展的客製化登入

» 如何建立基於擴展的客製化登入

在伺服端時間一個客製化的登入是很簡單的一個過程。SFS2X會發出下面兩個登入事件:

  • USER_LOGIN(使用者登入): 當客戶端請求加入一個區域時會發出這個事件。你可以在這裡驗證使用者憑證與決定使用者是否能繼續進行登入動作。在這個階段客戶端是以一個Session物件作為代表,還不是一個真正的使用者。
  • USER_JOIN_ZONE(使用者家入區域):當使用者成功加入一個區域(並且轉換成為SFS使用者(SFSUser)) 時會發出此事件。

閱讀全文:建立基於擴展的客製化登入

開發基礎:登入階段

»登入階段

在前一個章節,中我們已經見過如何連線到SmartFoxServer,也提到過客戶端在開始與伺服器API與其他使用者互動前,需要先登入到區域中。

為了看到在服務器中可得的區域,以及建立一個新的區域。你可以使用SFS2X 的Admin Tool。在工具欄的左側中選擇Zone Configurator ,然後會出現區域(Zones)的列表。

閱讀全文:開發基礎:登入階段

開發基礎:連線階段

開發基礎:» 連線階段

連線到SFS2X分成兩個步驟來執行:

一個物理TCP連線被打開以連接到伺服器。

客戶端與伺服端完成"握手(handshake)"的動作,並且交換了一些參數。

在握手期間,伺服端會驗證客戶端API版本是否支援,並且傳回一些客戶端會儲存在本地的設定。

閱讀全文:開發基礎:連線階段