位置: 编程技术 - 正文

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版))

  • 赊销和分销时纳税义务发生时间是什么时候?
  • 广告费和业务宣传费的区别是什么
  • 个人给单位做事怎么开发票
  • 小规模纳税人出售使用过固定资产
  • 计提的成本次月怎么处理
  • 备用金没有发票抵消违法吗
  • 办税人员可以是其他公司人员吗
  • 印花税什么情况可以退
  • 建筑劳务公司业务范围是什么
  • 年末结转增值税之后增值税有余额嘛
  • 建账录入期初数据需要看哪个表
  • 留存收益筹资的优缺点
  • 纳税期限与申报的关系
  • 公司活动发言稿范文
  • 支付税收罚款怎么算企业所得税
  • 生产成本明细科目是原材料的名称吗
  • 酒店代金券使用规则
  • 收到招聘通知
  • 外币应收帐款汇兑损益现流附表
  • 工资基数缴纳个税怎么交
  • 股权转让资本公积怎么处理
  • 当前中国有什么企业在国外
  • 留抵税额怎么计算
  • 个税滞纳金如何调增所得税费用
  • 电梯维修公司发展前景
  • win11打开设置
  • Windows10如何解压rar
  • 如何测试电脑网速多少兆
  • 国有土地使用权租赁
  • 电脑中毒如何处理
  • 鸿蒙系统怎么隐藏应用图标
  • 政府土地购买流程
  • 预付购买材料款会引起会计等式
  • 普通发票丢了如何入账
  • uniapp控制硬件设备
  • 会计核算的职能主要是从什么方面综合反映
  • input输入改变边框颜色
  • vue使用技巧
  • 结转已销产品计入什么科目
  • bat 进入当前文件夹
  • 企业没有研发费用怎么做账
  • mongodb数据库操作题
  • 营改增后新纳入增值税征税范围的有
  • 企业赠送客户礼品涉税
  • 被投资公司注销,投资收益需要交企业所得税你吗
  • 餐饮业税务申报
  • 自定义转账计算所得税费用
  • 企业收到的
  • 装修行业小规模最高能开几个点的票
  • 以前年度费用退回
  • 设计协会会长
  • 车船税征收范围有
  • 常见的防暑降温药有
  • 事业单位收到退税账务处理
  • 工地上报销项目有哪些
  • 减免增值税如何申报
  • 税控盘的主要功能
  • 可供出售金融资产包括哪些内容
  • 买辆车要交多少税
  • 账户的基本结构不包括的内容有
  • win10升级后c盘莫名其妙满了
  • 通过修改注册表修改edge主页
  • win10光驱无法识别
  • centos5.3安装教程
  • wcesmgr.exe - wcesmgr 是什么进程
  • win11注意
  • Win8.1不借助第三方软件怎么给文件夹加密并隐藏
  • linux free 命令
  • win8怎么改系统
  • Win10 Mobile RedStone预览版14267更新内容汇总(持续更新)
  • perl split用法
  • xcopy /i
  • android升级是什么意思
  • JavaScript函数中,哪个语句可以返回值
  • 深入理解javascript特性
  • JQUERY的AJAX请求缓存里的数据问题处理
  • android简单app实例
  • js类的静态属性
  • jquery前端开发实战教程课后题答案
  • 联合国英文全称和缩写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设