位置: 编程技术 - 正文

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

  • 交城市维护建设税填什么凭证
  • 购买厂房需要交土地使用税吗
  • 食品增值税专用发票可以退税吗?
  • 建筑公司核定征收是什么意思
  • 行政单位工资支出标准
  • 违约金收入是否征税
  • 软件企业的工资怎么样
  • 对外销售产品
  • 润滑油交消费税税率
  • 不随物品一起销售的包装物怎么做账?
  • 缴纳税费及工会经费
  • 电子增值普通发票经营范围呢免费吗
  • 股权转让分期收款怎么企业所得税
  • 增值税进行未认定怎么办
  • 高新技术企业研发费
  • 增值税普票怎么验证真伪
  • 混业经营试点
  • 机动车发票有几联
  • 收到劳务公司缴税怎么办
  • 小规模税控盘服务费怎么填增值税申报表
  • 鼠标反应迟钝是什么原因
  • 合并财务报表中的负债和股东权益
  • 电脑连接网线但没有网络
  • 税务局手续费返还
  • 销售货物结转成本会计分录
  • 紧急重新启动
  • 装电脑系统的方法和步骤
  • 胆固醇为什么会高
  • Mail.app增强插件:Universal Mailer介绍
  • 小规模纳税人税控设备可以抵扣吗设备
  • 硬盘最小的存储单位
  • PHP:imagecreatefromgd2()的用法_GD库图像处理函数
  • laravel 关联
  • php引用传值
  • nginx gui
  • linux嵌入式开发教程
  • javaweb.xml配置文件
  • element ui table
  • php处理304缓存
  • php面试基础题
  • ps快速选择工具抠图后怎么拉出来
  • 运输客票属于什么发票
  • 没有什么盈利的公司应该进吗
  • 6月收到4月的单子怎么办
  • 一个合同里面服务怎么写
  • 销项税每月有余额年底怎么处理
  • 个税手续费返还要交企业所得税吗
  • 小型微利企业季度所得税怎么计算
  • 控股公司的收入怎么计算
  • 采购材料单表格
  • 个体户怎么计算养老金
  • 制造费用账户在月末一般没有余额
  • 人工费没有发票怎么入账
  • 国际货运代理免增值税
  • 已认证发票作废
  • 发票不按实际数量单价开 但金额一致
  • 实发工资有小数点是如何解决的
  • 进项税额被转出怎么做账
  • 报销如果没有发票怎么补救
  • sql server ceiling
  • 开源操作系统年度技术会议
  • 快启动U盘怎么进去
  • 怎么操作win10系统
  • win10设置怎么开
  • win10每次开机都假死机
  • win7安装sqlserver2000没反应
  • calc.exe是什么程序
  • popblock.exe
  • winkey.exe - winkey是什么进程
  • mac新版系统
  • win8.1不能关机
  • linux源码包
  • 电脑迅雷影音在哪个文件夹
  • lsm.exe是什么进程
  • 自定义ui界面
  • jquery属性选择器,选取所有带href
  • 税务电子发票怎么开
  • 新疆都有哪些地貌
  • 湖南地税局客服电话号码
  • 税控发票打印发票流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设