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. HC-08 BLE资料

    1.1 特点简介 HC-08蓝牙串口通信模块是新一代的基于Bluetooth Specification V4.0 BLE蓝牙协议的数传模块.无线工作频段为 2.4GHz ISM,调制方式是 GFSK ...

  2. C#连接SQL Anywhere 12 数据库

    using System;using System.Data.Common; namespace ConsoleApplication27{    class Program    {        ...

  3. 保存localStorage并访问

    将用户的输入保存至localStorage对象的属性中,这些属性在再次访问时还会继续保持在原位置. 如果你在浏览器中按照fil://URL的方式直接打开本地文件,则文法在某些浏览器中使用存储功能(比如 ...

  4. java并发编程(四)----(JUC)Lock锁初探

    首先我们来回忆一下上一节讲过的synchronized关键字,该关键字用于给代码段或方法加锁,使得某一时刻它修饰的方法或代码段只能被一个线程访问.那么试想,当我们遇到这样的情况:当synchroniz ...

  5. python面试总结1(基础章节)

    python语言基础 语言特点 python是静态还是动态类型?是强类型还是弱类型 动态强类型语言 动态还是静态指的是编译期还是运作期确定类型 强类型指的是不会发生隐式类型转换 python作为后端语 ...

  6. MongoDB Day 1

    创建数据库 db.createCollection("user"); 插入字段 //----insert------- db.user.insert({uid:1, user_co ...

  7. Kafka 系列(四)—— Kafka 消费者详解

    一.消费者和消费者群组 在 Kafka 中,消费者通常是消费者群组的一部分,多个消费者群组共同读取同一个主题时,彼此之间互不影响.Kafka 之所以要引入消费者群组这个概念是因为 Kafka 消费者经 ...

  8. P3195 [HNOI2008]玩具装箱TOY 斜率优化dp

    传送门:https://www.luogu.org/problem/P3195 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任 ...

  9. HTTP head请求

    GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从客户端向服务器传送的数据取代指定 ...

  10. 实战redhat6.5离线升级openssl&openssh

    记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...