位置: 编程技术 - 正文

Unity 网络通信(一)Unity Network 初步(unity网络通信框架)

编辑:rootadmin
翻了半天unity的API,也没有发现可以处理Socket的方法。Unity自己封了个网络处理的类Network,主要用于状态同步。 &#;乎是要实现MMO级别的网络应用,只能用C#自己去写了。(Unity不像AS,有直接处理数据包、字节级别的底层函数。至少现在没有。)

推荐整理分享Unity 网络通信(一)Unity Network 初步(unity网络通信框架),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d 网络通信,unity网络交互,unity网络通信怎么搭建,unity3d网络,unity3d 网络通信,unity网络通信框架,unity网络通信插件,unity网络通信,内容如对您有帮助,希望把文章链接给更多的朋友!

我们还是先了解一下Unity,看看用Unity如何编写通信,从最简单的开始。

1,新建项目。新建一个项目里面会有一个摄像机。

2,编写服务器端代码cs:

using UnityEngine; using System.Collections; public class server : MonoBehaviour { int Port = ; //OnGUI方法,所有GUI的绘制都需要在这个方法中实现 void OnGUI(){ //Network.peerType是端类型的状态: //即disconnected, connecting, server 或 client四种 switch(Network.peerType){ //禁止客户端连接运行, 服务器未初始化 case NetworkPeerType.Disconnected: StartServer(); break; //运行于服务器端 case NetworkPeerType.Server: OnServer(); break; //运行于客户端 case NetworkPeerType.Client: break; //正在尝试连接到服务器 case NetworkPeerType.Connecting: break; } } void StartServer(){ //当用户点击按钮的时候为true if (GUILayout.Button("创建服务器")) { //初始化本机服务器端口,第一个参数就是本机接收多少连接 NetworkConnectionError error = Network.InitializeServer(,Port,false); Debug.Log("错误日志"&#;error); } } void OnServer(){ GUILayout.Label("服务端已经运行,等待客户端连接"); //Network.connections是所有连接的玩家, 数组[] //取客户端连接数. int length = Network.connections.Length; //按数组下标输出每个客户端的IP,Port for (int i=0; i<length; i&#;&#;) { GUILayout.Label("客户端"&#;i); GUILayout.Label("客户端ip"&#;Network.connections[i].ipAddress); GUILayout.Label("客户端端口"&#;Network.connections[i].port); } //当用户点击按钮的时候为true if (GUILayout.Button("断开服务器")){ Network.Disconnect(); } } /* 系统提供的方法,该方法只执行一次 */ // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } 复制代码

3,把这个代码拖拽到摄像机上。

4,运行程序 File---->Build settings---->Build And Run,选择Web Player

Unity 网络通信(一)Unity Network 初步(unity网络通信框架)

5,服务器端建立完毕,保持服务器端的运行状态。

6,这里可以再新建立个项目写客户端。嫌麻烦也可以像我这样,先把摄像机上的服务器脚本删掉,再把下面的客户端脚本拖拽上去。

客户端代码如下:

using UnityEngine; using System.Collections; public class client : MonoBehaviour { //要连接的服务器地址 string IP = ".0.0.1"; //要连接的端口 int Port = ; void OnGUI(){ //端类型的状态 switch(Network.peerType){ //禁止客户端连接运行, 服务器未初始化 case NetworkPeerType.Disconnected: StartConnect(); break; //运行于服务器端 case NetworkPeerType.Server: break; //运行于客户端 case NetworkPeerType.Client: break; //正在尝试连接到服务器 case NetworkPeerType.Connecting: break; } } void StartConnect(){ if (GUILayout.Button("连接服务器")){ NetworkConnectionError error = Network.Connect(IP,Port); Debug.Log("连接状态"&#;error); } } // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } 复制代码

7,运行程序 File---->Build settings---->Build And Run,选择Web Player8,结果如下,可以通信。

声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

Unity3D优化之合并网格 整理 一、使用gameobject的static属性设置注意的是,所谓静态就是静止的,你如果要改变它位置,就不是静态了,静态物体在脚本加载的时候就开始渲染,不随

Unity3D选择性渲染技术 话说大学毕业快一年了,加上在学校参加比赛做的一些游戏。实际上编程时间也有三年了。以前碰到问题总是到网上搜索答案。有时能很快的找到,有

Unity3D 里IK手柄的用运 实现功能:1.当点击鼠标右键,左右手扶住武器,进入射击状态2.再次点击鼠标右键,武器消失,取消射击状态解决方法:①将武器放置为头部的子物体②

标签: unity网络通信框架

本文链接地址:https://www.jiuchutong.com/biancheng/383565.html 转载请保留说明!

上一篇:蛋哥的学习笔记之-基于Unity的Shader编程:0-2 基本3D图形渲染管线概述(蛋哥的日常)

下一篇:Unity3D优化之合并网格 整理(unity优化技巧)

  • 个体工商户税率2023
  • 公司垫付生育津贴凭证
  • 企业购置房产进项被折旧怎么处理
  • 股东分红需要开股东会决定吗?
  • 最近的火车票代售点
  • 跨境电商有进口吗
  • 期间费用的控制方法主要有
  • 处置使用过的固定资产,税率按多少
  • 车过户怎么处理
  • 机动车发票红冲可以作废吗
  • 用于集体福利的消费税
  • 来料加工复出口增值税政策
  • 境外派遣员工境外所得税是什么时候申报?
  • 技术服务开什么大类
  • 案例分析互联网巨头的战略计划
  • 小规模纳税人金额
  • 9万以下免征增值税政策
  • 国家税务总局关于取消增值税扣税凭证
  • 哪些项目可以免征个人所得税
  • 固定资产进项发票怎么开
  • 出售二手车税率3%减按2%征收的政策
  • 小规模纳税人财务制度
  • 科目余额表借方和贷方
  • 教育培训行业怎么办
  • 旅行社确定收入毛利成本怎么确定?
  • 收到转账支票 转给下一家
  • 怎样冲回多提应付职工薪酬?
  • 购买机动车怎样抵扣进项税
  • 个体户怎么核定开多少票
  • 年初建账的期初余额
  • 金蝶存货核算的基本流程
  • 腾讯手游助手怎么把游戏放到桌面
  • 收到美金没有结汇会计分录
  • 水利基金返还分录怎么写
  • 电脑找不到ie浏览器
  • php array_replace
  • CoverDesigner.exe是一个安全进程吗 CoverDesigner进程查询
  • php比较两个字符串
  • 销项冲红可以退税吗?
  • 免税和免征增值税是一个意思么
  • javascript移动鼠标
  • 房产税城镇土地使用税申报期限
  • 会计申报需要哪些数据
  • yolov5l
  • ps快速选择工具抠图
  • 逾期包装物押金收入计入什么科目
  • 纳税调整项目明细表30行怎么填写
  • jquery ui table
  • 限额领料单属于什么凭证
  • 理财产品分红和收益
  • 将一个表中的字段更新到另一个表
  • 其他应收款科目核算哪些业务
  • 年度利润总额的英文缩写
  • 应收代位追偿款有没有明细科目
  • 宾馆购买的床财务怎么做账
  • 固定资产如何入账处理
  • 提供劳务收入的确认条件
  • 支付职工培训费是什么科目
  • 资产负债表货币资金怎么填
  • 年度损益调整的会计分录
  • 小规模纳税人怎么申报个人所得税
  • 可转债公允价值变动计入
  • 被遗忘的事件
  • 用mysql的小技巧
  • SQL2005、SQL2008允许远程连接的配置说明(附配置图)
  • MYSQL updatexml()函数报错注入解析
  • mac系统小技巧
  • windows server 2008 r2激活密钥
  • ubuntu系统安装谷歌浏览器
  • .exe是什么软件
  • win10无internet怎么办
  • win7系统IE浏览器一点就闪退
  • express.json()
  • js中alert弹不出来
  • 主机端口扫描程序设计python
  • javascript核心技术开发解密
  • 如何查询车辆购置税是否缴纳
  • 成都网上税务局
  • 浙江省焊工操作证查询
  • 四川社保2020增资方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设