Photon Server 和 Unity3D 数据交互:

Photon Server 服务端编程

Unity3D 客户端编程

VS2017 之 MYSQL实体数据模型

1:打开unity新建新项目,并引入Photon3Unity3D.dll到plugins文件中。

2、新建一个空物体,添加两个脚本文件。

3、编辑Photon Engine。

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ExitGames.Client.Photon;
using System; public class PhotonEngine : MonoBehaviour, IPhotonPeerListener
{
//单例模式
private static PhotonEngine instance;
private static PhotonPeer peer; public static PhotonPeer Peer
{
get
{
return peer;
}
} private void Awake()
{
if (instance == null)
{
instance = this;
//不需要销毁
DontDestroyOnLoad(this.gameObject);
}
else if (instance != this)
{
Destroy(this.gameObject);
return;
}
}
private void Start()
{
try
{
//PhotonPeer实例化时需要监听类和连接协议。所以该类继承IPhotonPeerListener接口实现监听
peer = new PhotonPeer(this, ConnectionProtocol.Udp);
peer.Connect("122.237.104.105:5055", "Mygame1");
}
catch (Exception e)
{
Debug.Log(e.ToString());
}
} private void Update()
{
//时刻发送请求
peer.Service();
} private void OnDestroy()
{
if (peer != null && peer.PeerState == PeerStateValue.Connected)
{
peer.Disconnect();
}
} public void DebugReturn(DebugLevel level, string message)
{ } public void OnEvent(EventData eventData)
{
switch (eventData.Code)
{
case :
Dictionary<byte, object> di = eventData.Parameters;
object i;
di.TryGetValue(, out i);
Debug.Log("收到服务器消息" + i.ToString());
break;
case :
break;
default:
break;
} } public void OnOperationResponse(OperationResponse operationResponse)
{
switch (operationResponse.OperationCode)
{
case :
Debug.Log("收到服务器响应!。。。。。");
Dictionary<byte, object> d = operationResponse.Parameters;
object i, j;
d.TryGetValue(, out i);
d.TryGetValue(, out j);
Debug.Log("收到服务器返回" + i.ToString() + j.ToString());
break;
default:
break;
}
} public void OnStatusChanged(StatusCode statusCode)
{
Debug.Log(statusCode);
}
}

4、text类用来发送请求。

 using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class text : MonoBehaviour { private void Update()
{
if (Input.GetMouseButtonDown())
{
SendRequest();
}
} private void SendRequest()
{
Dictionary<byte, object> date = new Dictionary<byte, object>();
date.Add(, );
date.Add(,"sdgsdgdsfg");
PhotonEngine.Peer.OpCustom(, date, true);
}
}

5、运行结果。先启动服务器在启动客户端,鼠标左点击发送请求。

服务端:

客户端:

下载地址:https://gitee.com/today6/unity

Unity3D 客户端编程的更多相关文章

  1. Redis系列(三)-Redis发布订阅及客户端编程

    阅读目录 发布订阅模型 Redis中的发布订阅 客户端编程示例 0.3版本Hredis 发布订阅模型 在应用级其作用是为了减少依赖关系,通常也叫观察者模式.主要是把耦合点单独抽离出来作为第三方,隔离易 ...

  2. 【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 & 第一个Shader的书写

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)  ...

  3. JAX-RS 2.0 REST客户端编程实例

    JAX-RS 2.0 REST客户端编程实例 2014/01/28 | 分类: 基础技术, 教程 | 0 条评论 | 标签: JAX-RS, RESTFUL 分享到:3 本文由 ImportNew - ...

  4. 【浅墨Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&amp;颜色、光照与材质

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40955607 作者:毛星云(浅墨)  ...

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

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

  6. unity3D客户端框架

    unity3D客户端框架  博客

  7. go语言之进阶篇http客户端编程

    1.http客户端编程 示例: http_server.go package main import ( "fmt" "net/http" ) //w, 给客户 ...

  8. 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程

    本博文的主要内容有   kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...

  9. [Real World Haskell翻译]第22章 扩展示例:Web客户端编程

    第22章 扩展示例:Web客户端编程 至此,您已经看到了如何与数据库交互,解析一些数据,以及处理错误.现在让我们更进了一步,引入Web客户端库的组合. 在本章,我们将开发一个真正的应用程序:一个播客下 ...

随机推荐

  1. 命令用法习题,yum仓库的创建 chapter02 - 03 作业

    1.  分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处? [root@localhost /]# ca ...

  2. 非web下的PowerMockito单元测试

    一.介绍 PowerMockito 可以用来 Mock 掉 final 方法(变量).静态方法(变量).私有方法(变量).想要使用 PowerMockito Mock掉这些内容,需要在编写的测试类上使 ...

  3. 免安装版tomcat安装成服务

    安装方式(前提已经安装好了jdk,并配置了环境量): (1) 下载非exe的tomcat zip包: (2) 解压缩,如:D:\tomcat: (3) 进入D:\tomcat\bin,修改servic ...

  4. Windows的 IIS 部署django项目

    Windows的 IIS 部署django项目 1.安装Windows的IIS 功能(win10为例): (1)进入控制面板  :选择大图标    进入程序和功能 (2)启用或者关闭Windows功能 ...

  5. java-极光推送教程

    一.准备工作: 1.访问极光推送官网:https://www.jiguang.cn/accounts/login/form 2.注册登陆,拿到appKey和masterSecret 3.创建一个应用, ...

  6. 看完这篇还不清楚Netty的内存管理,那我就哭了!

    说明 在学习Netty的时候,ByteBuf随处可见,但是如何高效分配ByteBuf还是很复杂的,Netty的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解 ...

  7. IBM实习工作(一)

    2019.1.21 今天的任务是完成会计是否在岗配置表格增加操作记录,任务描述:1.  [会计是否在岗配置] 查询结果界面: 修改人编码/修改人/修改时间 字段:2.      字段取值为[会计是否在 ...

  8. Kafka面试,看这篇文章就够了

    原文链接:https://mp.weixin.qq.com/s/zxPz_aFEMrshApZQ727h4g** 引言 MQ(消息队列)是跨进程通信的方式之一,可理解为异步rpc,上游系统对调用结果的 ...

  9. .Net Core 最优 MD5 打开方式!初学者建议收藏(支持 SHA1,SHA256,.Net Framework)

    public static string GetMd5Hash(string input) { using (MD5 md5Hash = MD5.Create()) { // Convert the ...

  10. pull解析案例

    此pull解析案例是eclipes的对不对,不知道, private void getXml() { try { InputStream is = getAssets().open("new ...