Unity3D利用Photon实现实时联网对战(二)PUN SDK介绍
上一篇大家了解到了Photon的使用,下面我们就来介绍下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 运行结果