首页 > Photon > 基础系列 > PhotonServer(二)创建Unity客户端
2017
11-14

PhotonServer(二)创建Unity客户端

转载:http://www.jianshu.com/p/bf7a71be13c5

在客户端发起与服务器的连接

首先在Unity3D里面导入photon unity客户端的dll,在photon文件目录下找到

直接导入到unity的Plugins文件里面,然后创建一个空物体,命名为 PhotonEngine,并在上面创建一个脚本命名为PhotonEngine( 用来管理与服务器端的连接),打开脚本写入连接的信息。

这时候客户端与服务器的连接已经建立起来了。我们打开我们MyGame的服务器,然后把我们的unity运行起来,这时候我们打开服务器的日志就可以看到有客户端连接进来了!这个时候已经成功建立连接了
PhotonServer(二)创建Unity客户端 - 第1张  | u3d8技术分享

客户端向服务器发起请求(发送数据给服务器),服务器回应给客户端(发送数据给客户端)

下面我们就要处理客户端向服务器如何发起请求并传递数据给服务器。
首先在空对象PhotonEngine上再创建一个脚本我们叫做PhotonText,然后打开脚本写入

那么发送过去请求后,那么服务器怎么去接收呢,下面我们来看下,打开我的上一篇所写的服务器代码,在ClientPeer类里面有一个方法是专门处理客户端请求的方法的,那就是OnOperationRequest();所以我们在这个方法里去接受我们客户端的请求并且给客户端响应,怎么接收呢,来看看代码

这里服务器收到了客户端的请求并且给了客户端回应并且传递了数据给客户端那么我们又如何让客户端去接收这个回应与接收数据呢?在我们刚刚在unity3D的PhotonEngine脚本里面有一个方法专门接受服务器响应的方法OnOperationResponse();我们在这个方法中去接收就OK,同样也是用opCode去指定接受哪个回应.

这个时候我们就可以去测试下了,在服务器端重新生成下,并且重启MyGame服务器,打开日志,然后运行Unity3D.运行起来后可以看到日志里面客户端已经连接,然后我们左键点击Unity Game视角的屏幕,在服务器的日志上就可以看到收到一个客户端的请求并且从客户端得到了数据,然后再unity客户端里面也可以看到打印收到了服务器的响应并且接受到了服务器的数据

PhotonServer(二)创建Unity客户端 - 第2张  | u3d8技术分享
PhotonServer(二)创建Unity客户端 - 第3张  | u3d8技术分享

这个时候我们整个请求回应的流程就完成了。

从服务器给客户端直接发送事件SendEvent

这里我还是在处理客户端的请求的OnOperationRequest()方法里面写入,你也可以在其他方法中写入,这里传输给客户端的数据我继续用data2.

发送后我们直接在unity客户端里面的PhotonEngine类里面有一个方法OnEvent(),这个方法表示如果客户端没有发起请求,但是服务器端向客户端通知一些事情的时候就会通过OnEvent来进行响应

可以看到服务器直接发送看数据给客户端

PhotonServer(二)创建Unity客户端 - 第4张  | u3d8技术分享

最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

0 0 votes
Article Rating
Subscribe
提醒
guest
20 评论
Inline Feedbacks
View all comments