搭建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 ...
随机推荐
- 在spring管理的类的要注意问题
特别时写框架的时候, 注意依赖引用,类的成员变量不要随便new,看spring容器中是否管理过,new出来的时其他的对象了
- 第十四节:Asp.Net Core 中的跨域解决方案(Cors、jsonp改造、chrome配置)
一. 整体说明 1. 说在前面的话 早在前面的章节中,就详细介绍了.Net FrameWork版本下MVC和WebApi的跨域解决方案,详见:https://www.cnblogs.com/yaope ...
- 2014百度之星 Information
Information Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- c++11多线程记录0
两种并发编程模型 多进程 进程间通信常用的几种方式: 文件 管道 消息队列 多线程 一个进程中存在的多个线程,通常通过共享内存来通信,(说的非常非常粗俗,就是通过类似"全局变量"的 ...
- Angular的Observable可观察对象(转)
原文:https://blog.csdn.net/qq_34414916/article/details/85194098 Observable 在开始讲服务之前,我们先来看一下一个新东西——Obse ...
- inux centos7下源码 tar安装5.7.26详解
inux centos7下源码 tar安装5.7.26图文详解 官网地址 https://dev.mysql.com/downloads/mysql/ 1.卸载Linux系统上自带的mysql插件(o ...
- 关于海大邮箱(ouc.edu)客户端配置及使用说明
关于海大邮箱(ouc.edu)客户端配置及使用说明 邮箱说明 系统简介 海大邮箱使用的是论客(Coremail)提供的邮件系统:(很多大学都是) Coremail论客简介(摘自官网): Coremai ...
- ML学习笔记之XGBoost实现对鸢尾花数据集分类预测
import xgboost as xgb import numpy as np import pandas as pd from sklearn.model_selection import tra ...
- Orleans 3.0 为我们带来了什么(转载)
以下为本篇文章的 作者: 艾心 出处: https://www.cnblogs.com/edison0621/ 原文:https://devblogs.microsoft.com/dotnet/orl ...
- 用RD,GR,BL三个方法内代码生成一张图片(非原创,我只是完整了代码)
我公开以下图片的源代码,,是ppm格式的,,自己找到能打开的工具.. (非原创,我加工的代码,可直接执行运行输出,缩略图能看到效果) 这是原博客 http://news.cnblogs.com/n/ ...