Photon Server的Unity3D客户端配置
Photon Server与Unity3D的交互分为3篇博文实现
(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客户端配置的更多相关文章
- Photon Server与Unity3D客户端的交互
Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...
- Photon Server初识(六) --- 客户端与服务端消息传递
前一章客户端与服务端连接成功,现在需要前后端进行数据传递. 一.前端发送消息.在项目Scripts目录中新建脚本 TestSer.cs.并挂载到相机上 二.客户端发送数据给服务端.编辑客户端代码 Te ...
- Photon Server的服务器端配置
Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...
- Photon Server 服务端编程
Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一:Photon Server的 ...
- Unity3D 客户端编程
Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程. VS2017 之 MYSQL实体数据模 1:打开unity新建新项目, ...
- Unity3d客户端与Photon服务器数据通信
今天先介绍一下Photon服务器是什么,可以做什么,为什么要使用它? Photon:开发多人联网游戏最轻松的方案!可以迅速简单实现多人实时在线网络游戏(pvp). Photon:透过位于各地的Phot ...
- 看过自会理解, Photon Server 常见概念分析.
http://stackoverflow.com/questions/10823915/photon-server-newbie-questions/11653419#11653419 Channel ...
- 开源分享 Unity3d客户端与C#分布式服务端游戏框架
很久之前,在博客园写了一篇文章,<分布式网游server的一些想法语言和平台的选择>,当时就有了用C#做网游服务端的想法.写了个Unity3d客户端分布式服务端框架,最近发布了1.0版本, ...
- Photon Server初识(四) --- 部署自己的服务Photon Server
准备工作: 1.一台 window 虚拟机(本机是window也行) 2.下载SDK : https://www.photonengine.com/zh-CN/sdks#server 一:SDK介绍 ...
随机推荐
- Python爬虫实战—— Request对象之header伪装策略
在header当中,我们经常会添加两个参数--cookie 和 User-Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性. User-Agent获取 User-Agent可通过随 ...
- js 暂停几秒后刷新或提交
js源码如下: setTimeout(function () { //内容3秒后执行 }, 3000);
- 二叉堆 与 PriorityQueue
堆在存储器中的表示是数组,堆只是一个概念上的表示.堆的同一节点的左右子节点都没有规律. 堆适合优先级队列(默认排列顺序是升序排列,快速插入与删除最大/最小值). 数组与堆 堆(完全二叉树)(构造大顶堆 ...
- MySql5.7默认生成的密码无法正常登陆
1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2.重启 mysqld 服务:sys ...
- 【2017 Multi-University Training Contest - Team 8】Hybrid Crystals
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6140 [Description] 等价于告诉你有n个物品,每个物品的价值为-a[i]或a[i],或 ...
- CentOS7简单安装mplayer和vlc!
http://pkgs.org/在这个网上搜索下面的包的最新版1. sudo rpm -ivh epel-release-7-0.2.noarch.rpm 2. sudo rpm -Uvh elrep ...
- 听说江苏省没有webSocket服务硬件
听说江苏省没有webSocket服务硬件 昨天项目上线,我门开发采用的webSocket做实时轮询,然后开发部老总怒怼"江苏省没有webSocket服务硬件,江苏省没有webSocket服务 ...
- PAT 1010 Radix(X)
1010 Radix (25 分) Given a pair of positive integers, for example, 6 and 110, can this equation 6 = ...
- 树莓派 omv 安装 nextcloud
https://www.toutiao.com/i6447470450145493517/ https://www.technikaffe.de/anleitung-402-howto_nextclo ...
- 正则化:L0 vs L1 vs L2
原文地址:https://www.jianshu.com/p/e5c9a9fc84d4 为什么正则化可以缓解过拟合? 过拟合时,拟合函数的系数往往非常大.过大的权重会导致模型过多地学习到某些数据的个性 ...