位置: 编程技术 - 正文

unity3d 异步socket packet序列化(unity socket udp)

编辑:rootadmin
using UnityEngine;using System.Collections;using System;using System.Threading;using System.Net;using System.Net.Sockets;using System.IO;using mutils; using scopely.msgpacksharp;using structs; public class AsyncSocket{ //单例模式 private static AsyncSocket instance; public Socket clientSocket; public string host = ".0.0.1"; public int hostPort = ; public static AsyncSocket GetInstance () { if (instance == null) { instance = new AsyncSocket (); } return instance; } public AsyncSocket () { //创建Socket对象 clientSocket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //服务器IP地址 IPAddress ipAddress = IPAddress.Parse (host); //这是一个异步的建立连接,当连接建立成功时调用connectCallback方法 IAsyncResult result = clientSocket.BeginConnect (ipAddress, hostPort, new AsyncCallback (connectCallback), clientSocket); //当连接超过5秒还没成功表示超时,非必须 //这段succ变量,偶尔在Mono里报错,实在看不出问题,去掉也没问题// bool succ = result.AsyncWaitHandle.WaitOne ();// if (!succ) {// //超时// Debug.Log ("time out ");// closeSocket ();// } } private void sendCallback (IAsyncResult asyncConnect) { int bytesSent = clientSocket.EndSend (asyncConnect); Debug.Log ("sendCallback: sent" &#; bytesSent); closeSocket (); } private void connectCallback (IAsyncResult asyncConnect) { Debug.Log ("EndConnect"); clientSocket.EndConnect (asyncConnect); businessComm (); } private void businessComm () { if (!clientSocket.Connected) { Debug.Log ("businessComm clientSocket.Connected false"); closeSocket (); } MemoryStream memStream = new MemoryStream (); memStream.Write (SocketUtils.IntToByte (), 0, 4); memStream.Write (SocketUtils.IntToByte (), 0, 4); MyMessage message = new MyMessage (); message.MyNumber = ; message.MyString = "abcde"; byte[] datas = MsgPackSerializer.SerializeObject (message); memStream.Write (SocketUtils.IntToByte (datas.Length), 0, 4); memStream.Write (datas, 0, datas.Length); byte[] byteData = memStream.GetBuffer (); clientSocket.BeginSend (byteData, 0, byteData.Length, SocketFlags.None, new AsyncCallback (sendCallback), clientSocket); } //关闭Socket public void closeSocket () { Debug.Log ("Socket Closed"); clientSocket.Close (); } }

推荐整理分享unity3d 异步socket packet序列化(unity socket udp),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity的socket,unity socket udp,unity异步加载原理,unity异步执行,unity异步加载场景优化,unity异步执行,unity异步执行,unity异步加载原理,内容如对您有帮助,希望把文章链接给更多的朋友!

unity3d 异步socket packet序列化(unity socket udp)

触发器调用:

?void OnTriggerEnter (Collider col) { if (col.gameObject.tag == "Player") { AsyncSocket.GetInstance (); } }

Unity3D游戏开发之回合制游戏原型的实现

Unity3D游戏开发之鼠标旋转、缩放实现3D物品展示

OnApplicationFocus 前两天用到ngui做拖拽效果,将一张图片拖拽到另一个固定的子里,看的是NGUI的一个demo做的,但是会有一个问题,就是在推拽过程中,如果切换应用程

标签: unity socket udp

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

上一篇:NGUI(女鬼照片)

下一篇:Unity3D游戏开发之回合制游戏原型的实现(Unity3D游戏开发(第2版))

  • 无偿划转股份是好是坏
  • 车辆购置税如何计算
  • 计提税金及附加会计分录
  • 员工福利开的专票怎么做分录
  • 广告费的明细
  • 应收账款周转率正常值范围
  • 全资收购企业需要交税吗
  • 电子发票冲红后算金额吗?
  • 委托加工白酒怎么入账
  • 赠品转做商品销售的账务处理如何做?
  • 建筑业确认主营业务收入
  • 行政会计账务处理
  • 简易征收的增值税可以在税前列支吗
  • 税控盘减免怎么做账
  • 缴纳的社保费可以退吗怎么退
  • 人力资源顾问公司有什么岗位
  • 城市维护建设税属于什么税种
  • 个体户可以不领税控盘吗
  • 固定资产折旧结束后怎样做账
  • 商贸企业仓储服务有哪些
  • 金税三期定期定额是什么
  • 开户许可证怎么下载电子版
  • 租金返还方式销售
  • 集团提供厂房是否需要缴纳印花税?
  • 1500元左右打游戏最好的手机
  • 苹果手机系统更新在哪里找
  • win11怎么打开虚拟内存
  • mac怎么共享文件
  • php数组函数输出《咏雪》里有多少"片"字
  • 奥维尔的瓦兹河岸
  • 企业清缴汇算
  • uniapp打开系统设置
  • 哪些货物出口不需要运输条件
  • 向股东借款支付利息划算还是做工资划算
  • 向客户收费
  • php检测字符串长度
  • 信用证支付方式,银行处理单据时主要关注( )
  • 织梦如何采集文章
  • wordpress隐藏内容付费可见
  • css设置旋转动画
  • 织梦模板安装详细教程
  • 现金流量表怎么填写
  • 办公用品普通发票税点多少
  • sql server single user
  • 购买空调报销单怎么填
  • 开出银行承兑汇票一张,面值30000元,用于抵付
  • 未计提坏账准备金额在哪个表
  • 库存商品的成本主要包括
  • 债务重组的会计例题
  • 制造企业费用会计
  • 出纳可以做库管吗
  • 增值税发票抵扣多少个点
  • 年终结账的会计分录
  • 固定资产清理明细账采用什么账簿
  • 简易征收可以抵税吗
  • 旅游饮食服务企业的特点包括
  • 企业预付账款的分录
  • windows隐藏功能
  • rsync如何同步隐藏文件和排除文件?rsync同步隐藏文件和排除文件的方法
  • mac如何查看隐藏的文件夹
  • autorun.inf在win10
  • win8尝试修复
  • win10系统下如何安装谷歌浏览器插件?win10系统下谷歌浏览器插件的安装方法图文教程
  • 手把手教你在家制作豆腐脑
  • opengl帧缓冲
  • 如何搭建react项目
  • 贴吧热门评论
  • pygame有哪些函数
  • js 文件分割
  • javascript ?
  • javascript语言基础
  • jquery的css方法
  • 《javascript高级程序设计》
  • js设计模式有什么用
  • 建筑业小规模纳税人工程结算增值税
  • 企业季度申报怎么报
  • 哪些账本需要贴纸
  • 济南高新区工商局政务大厅电话
  • 2023年企业所得税计算公式表
  • 刚出生的宝宝身长多少正常
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设