位置: 编程技术 - 正文

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

  • 2023小规模纳税人所得税税收优惠政策
  • 管理费用不计入成本吗?
  • 个人所得税手续费返还时间
  • 税控服务费怎么记账
  • 企业所得税完税证明怎么打印
  • 小规模纳税人税率有几种
  • 小规模普票专票税率一样吗
  • 民营企业的待遇
  • 处理企业的财产有哪些
  • 营业收入利润率多少合适
  • 稽查查补税款企业所得税
  • 收资料费怎么入账科目
  • 关联企业间无偿资金的占用属于借款费用吗
  • 建筑劳务有哪些税种
  • 发票抵税是指哪些内容
  • 劳动争议的解决途径不可以直接选择的是
  • 普票和专票的税率分别是多少
  • 垫付按揭保证金怎么做账
  • 购买的样品怎么做账
  • 银行存款日记账和现金日记账的区别
  • 开票人为什么不能改
  • 资产评估合同属于什么合同
  • 福利费的进项税怎么做账
  • 防伪税控技术维护费可以全额抵扣吗
  • 如何修复win10开机转圈五分钟
  • PHP:Memcached::getServerByKey()的用法_Memcached类
  • 应交增值税的会计科目怎么做
  • 年终奖发放管理制度
  • php技巧
  • 二手房交易土增税文件
  • 应收款余额在借方什么意思
  • Treetop walkway in Hainich National Park, Thuringia, Germany (© mauritius images GmbH/Alamy)
  • 收到固定资产的记账凭证
  • 应付票据抵付应付账款会计分录
  • 一般纳税人购买原材料会计分录
  • 空调年折旧率
  • 海关进口增值税计入什么科目
  • 工资直接计入管理费用了怎么办
  • 日用品属于哪个类型
  • 合并报表中为什么要抵损益
  • 企业医疗保险属于什么类别
  • 分公司非独立核算怎么做账
  • switch关键账号教程
  • 融资租赁有免租金吗
  • 帝国cms8.0版
  • 承兑汇票怎么使用流程
  • 企业所得税核定管理办法
  • 差额征税要交多少钱
  • 房地产材料采购清单
  • row number函数的使用场景
  • 退回股东投资款现金流怎么选
  • 发放个税返还用不用申报
  • 其他税后扣减
  • 劳动仲裁要出面吗
  • 为什么实收资本不属于企业资产
  • 实际验收入库是什么科目
  • 外商投资企业的中国投资者
  • 单独计价作为固定资产入账的土地为什么不计提折旧
  • 利润表中的营业收入怎么算出来的
  • 未分配利润太大了怎么处理
  • sql server 性能分析
  • centos6.5安装教程中文
  • 简单基是什么
  • 科普知识大全
  • icqlite.exe进程的详细介绍 icqlite进程的查询 作用是什么
  • 升级mac os
  • win7旗舰版系统怎么样
  • windows8使用技巧
  • win 10系统怎么提高网速
  • js 位置
  • android_zh
  • rgb与yuv哪个好
  • Node.js中的全局对象有
  • linux使用adb
  • npm安装淘宝镜像操作方式
  • 每天一篇日记
  • 横向对比分析两个人关系的意义
  • android系统主要特点
  • 设立新的机构或开办新的业务
  • 福建通用定额发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设