在Unity中实现区域连线
在Unity中实现区域连线
服务器 | MasterServer.RegisterHost("游戏类型","游戏名称","游戏注解"); |
客戶端 | MasterServer.RequestHostList("游戏类型"); |
清除列表 | MasterServer.ClearHostList(); |
请求主机列表 | function Awake() {MasterServer.RequestHostList("LarusTest");} |
取得列表 | var d : HostData[] = MasterServer.PollHostList(); |
1 |
//-------------------------------------------------------------------------------服务器脚本 |
2 |
|
3 |
function Start(){ |
4 |
Network.InitializeServer(32,1024,! Network.HavePublicAddress()); |
5 |
MasterServer.RegisterHost("AAA","BBB","CCC"); |
6 |
print("OK"); |
7 |
} |
01 |
//-------------------------------------------------------------------------------客户端脚本 |
02 |
|
03 |
private var s : String = "No"; |
04 |
//private var ncErr : NetworkConnectionErro; |
05 |
function Awake(){ |
06 |
MasterServer.ClearHostList(); |
07 |
MasterServer.RequestHostList("AAA"); |
08 |
} |
09 |
|
10 |
function Update () { |
11 |
if (MasterServer.PollHostList().Length != 0) { |
12 |
var data : HostData[] = MasterServer.PollHostList(); |
13 |
for(var e in data){ |
14 |
s = "游戏类型:" + e.gameType + "<!--DVFMTSC--> 游戏名称:" + e.gameName |
15 |
+ " , 內部IP : " + e.ip[0] + " : " + e.port + " , 外部IP:" + e.ip[2] + " : " + e.port; |
16 |
for(var h in e.ip){ |
17 |
print("所有IP:" + h + ":" + e.port); |
18 |
} |
19 |
if(e.connectedPlayers < e.playerLimit){ |
20 |
if(e.useNat){ |
21 |
print("使用NAT穿透"); |
22 |
}else{ |
23 |
print("直接连接到主机"); |
24 |
} |
25 |
print(Network.Connect(e.ip,e.port)); |
26 |
} |
27 |
} |
28 |
MasterServer.ClearHostList(); |
29 |
} |
30 |
} |
31 |
|
32 |
function OnFailedToConnect(error : NetworkConnectionError ) { |
33 |
Debug.Log ("客戶端:无法连接到服务器: "+ error); |
34 |
} |
35 |
|
36 |
function OnConnectedToServer() { |
37 |
Debug.Log("客戶端:已<code lang="csharp">连接到服务器"); |
38 |
} |
39 |
01 |
//--------------------------------------------------------------------------客戶端脚本(简洁的写法) |
02 |
|
03 |
function Update () { |
04 |
if (MasterServer.PollHostList().Length != 0) { |
05 |
for(var e in MasterServer.PollHostList()){ |
06 |
Network.Connect(e.ip,e.port); |
07 |
} |
08 |
MasterServer.ClearHostList(); |
09 |
} |
10 |
} |
11 |
服务器发布一个执行档,客户端脚本也发布一个执行档,分别在不同电脑执行
但必须是区域连线,或者是本地机器 才可看到客户端 Label 正确显示
另外 RequestHostList() 参数,必须要与 RegisterHost() 的 gameTypeName 名称一样,否则无法在不同电脑连线
在Unity中实现区域连线相关推荐
- Unity中在Game窗口画线
在Unity中画线有几种方式: Debug.DrawLine() 函数画线,在Game窗口不开启 Gizmos 时,只在Scene窗口显示,多用于调试. 通过 LineRenderer 来画线, ...
- Unity中的截图方法(包括全屏截图、区域截图、Camera截图和摄像头截图)
Unity中的截图方法(包括全屏截图.区域截图.Camera截图和摄像头截图) Application.CaptureScreenshot ScreenCapture Texture2D.ReadPi ...
- 眼睛慢慢眯成一条线的人都是实力很强劲的,教你在Unity中通过BlendShape来实现角色面部表情过渡切换(Animation)
文章目录 一.前言 二.BlendShape(动画师.MAYA) 三.Unity控制BlendShapes 1.SkinnedMeshRenderer控制BlendShape 2.Animation控 ...
- [专栏精选]Unity中动态构建NavMesh
本文节选自洪流学堂公众号专栏<郑洪智的Unity2018课>,未经允许不可转载. 洪流学堂公众号回复专栏,查看更多专栏文章. 小新:"Unity内置的Navigation系统是不 ...
- Unity中Light Probe详解
本文节选自洪流学堂公众号专栏<郑洪智的Unity2018课>,未经允许不可转载. 洪流学堂公众号回复光照探头,获取本文对应的视频实战教程. 洪流学堂,让你快人几步.你好,我是郑洪智. Un ...
- 【Unity3D日常开发】Unity中的资源加载与文件路径
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...
- Unity中一些小技巧
在unity中有一些小技巧,不能像人物的移动,攻击等有好几种方式可以用来单独成章,因此就把一些内容比较少,但是比较重要的内容放在一起合成一章,内容将会持续更新 1.人物死亡动画的播放:人物死亡后,需要 ...
- unity入门精要之第6 章 Unity 中的基础光照--环境光和自发光
Unity系列文章目录 文章目录 Unity系列文章目录 前言 一.Unity 中的环境光和自发光 二.在Unity Shader 中实现漫反射光照模型 参考 前言 但这种模型有很多局限性.首先,有很 ...
- Unity中鼠标的交互事件
事件响应函数 Unity中函数基本是大写开头的,以下仅介绍部分API,其余可以在unity官网查找. Awake :初始化,一开始(脚本实例化时)执行. Start : 在Awake之后执行,第一次U ...
最新文章
- Jenkins简介及在Windows上的简单使用示例
- jq 读取office插件_800+页麦肯锡经典图示发送!让你不用插件,轻松搞定逻辑图...
- Go 源码阅读笔记 text/template/parse
- Tensorflow 变量的共享
- 排版 项目 html,实现HTML自动排版的法则2_html
- Android studio导入第三方库的各种方法和eclipse的导入方式对比
- 我的家计算机教学反思,《我的家》教学反思
- java的主函数在哪_打开一个别人的文件,一堆.java, 怎么知道main函数在哪里?
- 06jQuery-06-AJAX
- 大数据时代,百货行业信息化将如何变革?
- Windows7 x64在Wampserver上安装memcache
- UVALive 6884 GREAT + SWERC = PORTO dfs模拟
- 使用Outlook Connector插件之后 qq发送过来的邮件为乱码
- MATLAB编程 动态数组的创建
- 120_x轴与y轴平移【transform: translateX(n) translateY(n)】利用定位和变形使元素水平垂直居中
- 如何进行高效学习——费曼技巧了解一下
- linux下安装mysql8.0(二进制方式)
- Chess Tournament(思维题)
- 移动BI快速入门培训-人人都可以成为数据分析师
- 转载:区块链:关于软分叉与硬分叉以及什么是共识
热门文章
- tomcat的详细介绍
- 多级队列调度算法可视化界面_多级反馈队列调度算法、各种调度算法小结等
- Matlab三元隐函数求极值,matlab用三重循环求一个三元函数的最大值所对应的x1,x2,x3...
- spring文档怎么读
- 武汉理工计算机网络教学平台,武汉理工大学网络教育《计算机网络》练习题库.docx...
- 商用WiFi成创业热点:下个移动入口遭争抢
- Array数组操作(变异更新、替换)
- vue的生命周期、uni-app页面生命周期
- 用Tenda便携式无线路由器实现无线IPTV实战录
- Nginx学习(一)——Nginx基础知识