Photon的使用
这几个月给公司一个正在做的半吊子游戏加pvp功能,一个人居然要2个多月弄个 PVP 类似 Dota 对战的游戏。我手里有套现成搭建服务端架构都没敢用起来,这服务器还是太初步了,只是验证了 Boost.Asio 的 Gateway,后端 ZeroMQ 消息串起来而已,还要给 Unity 写个客户端,于是忍痛放弃我一直想做的服务器架构,选个了 Unity 界知名的 Photon。把Lite、LiteLobby用起来,逻辑写在MainClient上,加加AI,把以前能用的代码用了起来,不到两个月也就出来这么个类 Dota PVP 玩法了。测试下来发现个问题,可靠的UDP发包不可靠,都选择可靠UDP发包,客户端容易断开连接,而且各种同步情况很糟糕,根据文档,UDP确认次数可以设置。不过没必要去试了。直接TCP,加载场景进去很容易DisconnectByServer了,找半天资料,改PhotonServer的配置文件,在TCPListener节点下加入InactivityTimeout填写个时间,解决问题。TCP同步情况就像正常了。可靠UDP也只是确定次数而已,这种之后导致容易断开连接,而且也没有保证可靠不丢包。如果不是,请指正,谢谢。最后给喜欢中文的推荐个博客:http://www.cnblogs.com/liusuqi/category/447143.html
Photon的使用的更多相关文章
- Photon服务器进阶&一个新游戏的出产(三)
下面或许该介绍介绍我用Photon写的一个4人联机麻将了~ 上图
- Photon服务器进阶&一个新游戏的出产(二)
继续上个文章说~ 接收其他人发过来的广播,在OnEvent中进行响应 比如说接收过来加入的消息 public void OnEvent(EventData eventData) { Debug.Log ...
- Photon服务器进阶&一个新游戏的出产(一)
许久没写了,今日闲来无事随性一些,总结一下最近的游戏经历(写游戏) Photon服务器的进阶~ 距离上一篇估计也过去一个多月了,对于Photon真是又爱又恨. 爱着它的书写方便. 恨着它的教程稀少总走 ...
- Momentics创建Photon图形程序
Photon microGui是qnx原生的UI图形工具.Qnx下开发Photon 一般是使用phAB来创建,使用默认的Momentics IDE也可以创建Photon图形程序. 首先需要创建一个c/ ...
- 使用游戏引擎photon打造一款特殊的远程控制软件
前言 本文主要是介绍photon引擎的一些基本用法,以及使用游戏引擎开发远控的优势 0x1 有一段时候对做游戏的unity开发有些兴趣,在找游戏服务端引擎的时候,突然发现了这款歪果人开发的游戏引擎ph ...
- 《photon中配置lite的相关问题》
前几天在学习photon的时候发现了一个问题: 无论如何都找不到Lite文件夹,我是一个新手这也是写给那些新上手的朋友: 首先下载SDK以后配置完成后无论如何都找不到Lite文件夹和相关的Lite.d ...
- 《Photon》
搭建客户端: using UnityEngine;using System.Collections;using ExitGames.Client.Photon; public class GameCl ...
- Unity连Photon服务器入门详解
Photon是目前比较好用的游戏服务器.目前网上对于Photon的服务器讲解比较少,最近也对Photon做了初步的了解,做一个极其详细的入门. 首先就是得下载Photon咯 https://www.p ...
- Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)
原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...
- photon mapping阶段性总结
PM算法看了这么久,也该是到了总结的时候了.自己实现的是PPPM(Probabilistic progressive photon mapping)的一个简化形式.之所以是简化形式是由于我的光子搜集时 ...
随机推荐
- BT基础知识简介
1. 蓝牙概述 无线局域网的通信 适用范围:10米到100米(根据发射功率的class不同有所差别,典型的class2为10m,而class1为100m,class3为1m) 应用: 局域网络 ...
- Android FindMyPhone功能模块的实现
类似iPhone手机上面“查找我的iPhone” 1. 手机定位 需要考虑到国内和国外,国内使用百度地图,国外使用google地图,两种地图,属于不同的坐标系. 手机这边为了避免不同坐标系的问题,直接 ...
- Spring MVC视图层:thymeleaf vs. JSP
本文对比了同一Spring MVC工程中相同页面(一个订阅表单)分别采用Thymeleaf和JSP(包括JSP.JSTL.Spring tag lib)两种方式的实现. 本文的所有代码来自一个可运行的 ...
- js open() 与showModalDialog()方法
此方法可通用,项目开发中经常要用到: //w:宽,h:高,url:地址,tag:标记 function showWin(w, h, url, tag) { var t = (screen.height ...
- 疯狂JAVA讲义第三章之数组篇
package test; /** * Desription: * @author orangebook *<br/>网站:<a href="http://www.cr ...
- VMware Player 使用错误集锦
1.执行VMware Player 弹出"开机时出错:内部错误"的提示.虚拟机执行不了,例如以下图: 解决的方法: 以管理员身份执行. 可能如今登录windows的 ...
- 分享一个嵌入式httpdserver开发库 - boahttpd library
http://sourceforge.net/projects/boahttpd/ 一个C接口的开发库,适用于 windows/linux/或其它嵌入式平台,支持CGI扩展,支持多线程.採用面向对象开 ...
- 数据绑定以及Container.DataItem几种方式与使用方法分析
灵活的运用数据绑定操作 绑定到简单属性:<%#UserName%> 绑定到集合:<asp:ListBox id="ListBox1" ...
- SQL 根据时间和打印状态抽取记录
1.首先要是没有打印的记录. 2.其次是要按照时间,时间是要按照倒序排列. 下载文件的URL and order by 上传时间 desc *是否打印,使用字段bit,0是没有打印,1是已经打印
- OC中线程的状态相关
1.线程的状态NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; ...