Photon Server与Unity3D的交互分为3篇博文实现

  (1)Photon Server的服务器端配置

  (2)Photon Server的Unity3D客户端配置

  (3)Photon Server与Unity3D客户端的交互

1.添加动态链接库

  在Unity3D里新建Plugins文件夹,将\ Photon-OnPremise-Server-SDK_v4-0-29-11263\lib里的Photon3Unity3D.dll添加到Plugins文件夹。Plugins文件夹用来放置第三方的动态链接库,会优先编译。

2.创建PhotonEngine

  在Unity里创建空物体命名为PhotonEngine,然后创建并添加组件PhotonEngine.cs。客户端通过PhotonEngine.cs向服务器端发送和接收请求。 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ExitGames.Client.Photon;
public class PhotonEngine : MonoBehaviour,IPhotonPeerListener {
public static PhotonEngine Instance { get; private set; }
public static PhotonPeer Peer { get; private set; }
   void Awake()
{
//切换场景后保证有且仅有一个PhotonEngine
if (Instance == null)
{
Instance = this;
DontDestroyOnLoad(this.gameObject);
}else if (Instance != this)
{
Destroy(this.gameObject);
return;
}
} void Start () {
     //让PhotonEngine继承实现IPhotonPeerListener故listener赋值为this。        
     //客户端通过PhotonPeer向服务器端发送请求,通过IPhotonPeerListener接收服务器端的响应
     Peer = new PhotonPeer(this, ConnectionProtocol.Udp);
     Peer.Connect("127.0.0.1:5055", "Minecraft");//设置连接的ip地址、端口号跟Application } void Update () {
Peer.Service();//PhotonPeer有一存储请求的队列,只有调用Peer.Service()才会连通服务器,发送请求队列和接受请求队列。
   }
   //在游戏关闭时断开连接
void OnDestroy()
{
if (Peer != null && Peer.PeerState == PeerStateValue.Connected)
{
Peer.Disconnect();
}
}
   public void DebugReturn(DebugLevel level, string message)    
   {         }    //服务器端向客户端发送请求时调用
public void OnEvent(EventData eventData)
{ }
   //客户端向服务器端发送请求后,服务器端响应客户端时调用
public void OnOperationResponse(OperationResponse operationResponse)
{ }          //PeerStateValue有5种状态,当状态发生改变时调用   
   public void OnStatusChanged(StatusCode statusCode)    
   {
       Debug.Log("当前状态"+statusCode);  
   }
}

Photon Server的Unity3D客户端配置的更多相关文章

  1. Photon Server与Unity3D客户端的交互

    Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...

  2. Photon Server初识(六) --- 客户端与服务端消息传递

    前一章客户端与服务端连接成功,现在需要前后端进行数据传递. 一.前端发送消息.在项目Scripts目录中新建脚本 TestSer.cs.并挂载到相机上 二.客户端发送数据给服务端.编辑客户端代码 Te ...

  3. Photon Server的服务器端配置

    Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...

  4. Photon Server 服务端编程

    Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一:Photon Server的 ...

  5. Unity3D 客户端编程

    Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程. VS2017 之 MYSQL实体数据模 1:打开unity新建新项目, ...

  6. Unity3d客户端与Photon服务器数据通信

    今天先介绍一下Photon服务器是什么,可以做什么,为什么要使用它? Photon:开发多人联网游戏最轻松的方案!可以迅速简单实现多人实时在线网络游戏(pvp). Photon:透过位于各地的Phot ...

  7. 看过自会理解, Photon Server 常见概念分析.

    http://stackoverflow.com/questions/10823915/photon-server-newbie-questions/11653419#11653419 Channel ...

  8. 开源分享 Unity3d客户端与C#分布式服务端游戏框架

    很久之前,在博客园写了一篇文章,<分布式网游server的一些想法语言和平台的选择>,当时就有了用C#做网游服务端的想法.写了个Unity3d客户端分布式服务端框架,最近发布了1.0版本, ...

  9. Photon Server初识(四) --- 部署自己的服务Photon Server

    准备工作: 1.一台 window 虚拟机(本机是window也行) 2.下载SDK : https://www.photonengine.com/zh-CN/sdks#server 一:SDK介绍 ...

随机推荐

  1. Java IO之处理流

    一.处理流: 增强功能,提供性能,在节点流之上. 二.节点流与处理流的关系 节点流(字节流.字符流)处于IO操作的第一线,所有操作必须通过它们进行: 处理流可以对其他流进行处理(提高效率或操作灵活性) ...

  2. Java中的Set集合以及HashSet

    Set集合: Set继承自Collection,所以没有什么特别的方法. 需要注意的是,Set集合不包含重复元素,我们重点了解Set集合如何保证不包含多余元素. HashSet: HashSet如何保 ...

  3. 后端异步接口url

    /wp-common/products.php?term_id=4&page=1 var currentAjax; var total = 0; function getAjaxData(te ...

  4. jQuery, js 验证两次输了密码的一相同

    <div class="form-group"> <label class="col-sm-2 control-label font"> ...

  5. curl查看index以及settings

    1.查看mapping curl -u elastic:elastic -XGET "127.0.0.1:9200/index_name/_mapping" 2.查看setting ...

  6. phpstorm使用说明

    1.phpstorm软件可以直接断点调试php代码.具体配置方法参考 http://blog.csdn.net/qq4551091/article/details/55258664 就可以了,不过只要 ...

  7. 2019 wannafly winter camp day5-8代码库

    目录 day5 5H div2 Nested Tree (树形dp) 5F div2 Kropki (状压dp) 5J div1 Special Judge (计算几何) 5I div1 Sortin ...

  8. vscode 编写Python走过的坑

    1,在使用vscode 中import turtle 这个模块, 再调用t = turtle.Pen(),始终提示无法找到turtle模块 2.可是使用terminal 中调用turtle模块,没有问 ...

  9. Openstack组件部署 — Networking service_安装并配置Controller Node

    目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...

  10. Nginx 配置参数

    1 Proxy_send_timeout 定义后端在多久的时间内必须返回完所有的数据给Nginx. 2 Proxy_read_timeout