搭建unity客户端
1.新建个unity的项目ChatClient
2.在unity的Main Camera下挂载个脚本PhotonServerEngine做为与服务器端通信的脚本
3.在PhotonServerEngine脚本中添加引用Photon3Unity3D.dll
路径:C:\Program Files\Photon Server\lib
Photon3DotNet.dll //普通的客户端程序
Photon3Unity3D.dll //unity的客户端程序
4.在PhotonServerEngine下编写具体的代码
using UnityEngine;
using System.Collections;
using ExitGames.Client.Photon;
using System;
using System.Collections.Generic;
//让当前类继承IPhotonPeerListener,用于接收服务器的信息
public class PhotonServerEngine : MonoBehaviour, IPhotonPeerListener
{
private PhotonPeer peer;
private bool bConnet = false;
void Start()
{
//实例化一个PhotonPeer,把当前类当成接收对象,使用TCP协议
peer = new PhotonPeer(this, ConnectionProtocol.Tcp);
//通过PhotonServer.config文件,查找TCPListeners获取TCP端口号
peer.Connect("127.0.0.1:4530", "ChatServer");
}
void Update()
{
//当每一帧时调用Service检查消息队列中的请求,并且发送请求
peer.Service();
}
void OnGUI()
{
if (bConnet)
{
if (GUILayout.Button("Send Operation"))
{
//与服务器端进行通信,发起请求
Dictionary<byte, object> dict = new Dictionary<byte, object>();
dict.Add(1, "UserName");
dict.Add(2, "UserPassWord");
peer.OpCustom(1, dict, true);
}
}
}
//当返回调试信息时被调用
public void DebugReturn(DebugLevel level, string message)
{
}
//当有新消息事件时被调用
public void OnEvent(EventData eventData)
{
}
//当服务器端响应时被调用
public void OnOperationResponse(OperationResponse operationResponse)
{
//接收服务器返回的数据
object ob_1 = null;
object ob_2 = null;
operationResponse.Parameters.TryGetValue(1, out ob_1);
operationResponse.Parameters.TryGetValue(2, out ob_2);
Debug.Log("UserName = " + ob_1.ToString() +"|" + "PassWord = " + ob_2.ToString());
}
//当状态改变时调用
public void OnStatusChanged(StatusCode statusCode)
{
switch(statusCode)
{
case StatusCode.Connect:
bConnet = true;
Debug.Log("connect Succes");
break;
}
}
}
5.必须保证Server应用己启动,未启动的话先运行PhotonControl.exe,选择default->start as appliaction, 如果正常显示蓝色图标,出现异常显示灰色图标.
6.最后运行unity, start方法被调用连接本地服务器端的TCP端口,点击GUI按钮,发起请求.
搭建unity客户端的更多相关文章
- Netty游戏服务器之三搭建Unity客户端
既然已经写完了相关的服务器处理类,那么我们就来搭建客户端测试一下. 打开我们的unity3d,然后新建一个c#脚本,取名为MainClient. public class MainClient : M ...
- unity客户端与c++服务器之间的简单通讯_1
// 服务器 # pragma once using namespace std; # include <iostream> # include <string> # incl ...
- unity开发android游戏(一)搭建Unity安卓开发环境
unity开发android游戏(一)搭建Unity安卓开发环境 分类: Unity2014-03-23 16:14 5626人阅读 评论(2) 收藏 举报 unity开发androidunity安卓 ...
- svn 服务器的搭建以及客户端的使用
1.svn 服务器的搭建以及客户端的使用,安装见下面的博客 https://blog.csdn.net/zh123456zh789/article/details/80921179 说明:服务器只是用 ...
- [经验] Java 使用 netty 框架, 向 Unity 客户端的 C# 实现通信[2]
在前一篇文章中, 我们实现了从Java netty 服务端到 unity 客户端的通讯, 但是在过程中也发现有一些问题是博主苦苦无法解决的, 但是还好终于有些问题还是被我找刀方法解决了, 现在把这些解 ...
- 从0开始搭建kafka客户端
上一节,我们实现了搭建kafka集群.本节我们将从0开始,使用Java,搭建kafka客户端生产消费模型. 1.创建maven项目2.kafka producer3.kafka consumer4.结 ...
- CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记
CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记 cas服务器的搭建 导出证书(1和2步骤是找了课程,随便写了一下存记录,不过对于自己测试不投入使用应该不影响) C:\Users\D ...
- unity客户端基本框架(转载)
框架概述: 基础系统的框架搭建,其中包括: UI框架(NGUI + MVC) 消息管理(Advanced CSharp Messenger) 网络层框架(Socket + Protobuf ) 表格数 ...
- 【转】unity开发android游戏(一)搭建Unity安卓开发环境
http://blog.csdn.net/chenggong2dm/article/details/20654075 1,下载安装Java的JDK: http://www.oracle.com/tec ...
随机推荐
- 【Qt开发】Qt5.9安装
Qt5.9安装包整合了全部资源,包括所有可选的不同版本及编译器,不用再单独下载,虽然大了点,但方便了很多.有时可能需要用VS搭配Qt来使用,但有时又想用QtCreator+mingw or QtCre ...
- kube-prometheus部署
一.从git拉取相应yaml文件 git clone https://github.com/coreos/kube-prometheus.git 二.修改grafana及prometheus的serv ...
- Hibernate的Hql语句使用in关键字
原文地址:https://blog.csdn.net/u013410747/article/details/50954867
- Java还是编程语言中的老大?凭什么长期霸占第一宝座?
首先,Java语言之所以能够迅速在科技行业内普及,一个重要的原因是Java语言的出现恰好契合了Web时代对于编程语言的要求,可以说Java语言的大流行是互联网时代发展的必然结果,虽然Java自身有诸多 ...
- FLASK-SQLALCHEMY如何使用or和and条件进行组合查询
FLASK-SQLALCHEMY如何使用or和and条件进行组合查询 http://www.cherishlau.site/2018/03/29/flask-sqlalchemy-use-or-and ...
- 配置opencv cmake
第一种使用 find_package的方法示例代码如下:# 声明要求的 cmake 最低版本cmake_minimum_required( VERSION 2.8 ) # 声明一个 cmake 工程p ...
- 消除VS中动态申请二维数组C6011,C6385,C6386的警告
动态申请二维数组,无非就是通过指针来实现.@wowpH 过程分三步:1.申请内存,2.使用数组,3.释放内存. 代码如下: /************************************* ...
- Mysql系列(四) —— MySQL的Charset和Collation
本文转载自:再见乱码:5分钟读懂MySQL字符集设置 一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的" ...
- 【C#】58. .Net中的并发集合——BlockingCollection
https://blog.csdn.net/huiwuhuiwu/article/details/53608269 这篇是并发集合中的最后一篇,介绍一下BlockingCollection.在工作中我 ...
- 2019 找钢网java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.找钢网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了找钢网,入职一年时间了,也成为了面试官 ...