1. 程式人生 > >Unity3D利用Photon實現實時聯網對戰(二)PUN SDK介紹

Unity3D利用Photon實現實時聯網對戰(二)PUN SDK介紹

由於這段時間公司的專案有點忙,好久沒有更新啦,在這裡希望得到大家的諒解,好了,廢話不多說啦,直奔主題!
今天的介紹內容是PUN SDK的運用,主要通過官方Demo來一起學習。

1、配置Photon Server伺服器

(1)、配置Photon Server的伺服器IP地址
在IP地址的列表中找到本機的IP地址,確定即可,這裡一定要設定成本機的IP地址,否則客戶端會連線不上伺服器,查詢本機IP地址的方法這裡就不介紹啦,自行度娘一下。

這裡寫圖片描述

圖 2-1 配置Photon Server伺服器

(2)、啟動Photon Server伺服器

啟動伺服器,開啟應用,等到Photon Server的圖示顏色由灰變亮就說明伺服器啟動成功。

這裡寫圖片描述

圖 2-2 配置Photon Server伺服器

2、配置客戶端
將PUN SDK匯入Unity中後,找到Photon Unity Networking–>Resources下的PhotonServerSettings配置檔案。如圖2-3所示:

這裡寫圖片描述

圖 2-3 配置客戶端

之後修改該配置檔案
(1)、Hosting
設定伺服器的型別,其中有Not Set(不設定)、Photon Cloud(Photon雲伺服器)、Self Hosted(自己作為主機)、Offline Mode(離線模式)和Best Region(最佳區域)。
在這裡我們選擇Self Hosted,就是將自己的機器作為伺服器來使用。

(2)、Server Address
設定伺服器的IP地址。因為聯網的遊戲需要伺服器做同步和更新,所以客戶端必須連線伺服器才可以,而通過IP地址就可以連線伺服器。
在Server Address項中, 將當做伺服器機器的IP地址填入該項內,這裡我們輸入本機的IP地址。

(3)、Server Port
設定伺服器的埠號,雖然說上面我們通過IP地址連線了伺服器,但是伺服器上有好多應用,還必須讓伺服器知道是需要對接哪個應用程式,這裡對接不同的應用程式是通過埠號來實現的。

一般設定該埠號從範圍從0到65535,而埠號又分為知名埠號和動態埠號。

知名埠顧名思義就是大眾所熟知的埠號,範圍從0到1023,這些埠號一般固定分配給一些服務。比如21埠分配給FTP服務,25埠分配給SMTP(簡單郵件傳輸協議)服務,80埠分配給HTTP服務,135埠分配給RPC(遠端過程呼叫)服務等等。

動態埠的範圍從1024到65535,這些埠號一般不固定分配給某個服務,也就是說許多服務都可以使用這些埠。只要執行的程式向系統提出訪問網路的申請,那麼系統就可以從這些埠號中分配一個供該程式使用。比如1024埠就是分配給第一個向系統發出申請的程式。在關閉程式程序後,就會釋放所佔用的埠號。

所以這裡我們設定埠號為5055。

(4)、Protocol
設定網路協議,主要分為兩類UDP和TCP,其中TCP是可靠的網路傳輸,其需要的頻寬大。而UDP是不可靠的網路傳輸,其需要的頻寬較小。關於其他的差異,大家可以在網上查詢其他資料。
我們在這裡選擇TCP協議。

這裡寫圖片描述

圖 2-4 配置客戶端

到這裡客戶端的配置就完成了,那就讓我們開啟一個Demo執行一下吧。
下面是執行的截圖

這裡寫圖片描述

圖 2-5 執行結果