位置: 编程技术 - 正文

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

  • 小规模纳税企业
  • 购买税控盘分录怎么做
  • 水利建设专项基金的税率
  • 网络文化传媒公司名字
  • 个税隔一个月没申报这个月可以补上吗
  • 怎么才算小企业
  • 发生福利费的会计分录
  • 中外合资房地产公司
  • 个人独资企业服务中心是干嘛的
  • 网上平台服务年费应该计入什么费用?
  • 代扣代缴个人所得税手续费是否缴纳增值税
  • 委托加工合同如何标注多个地址
  • 直接减免的增值税计入哪个科目
  • 个人所得税免征项目有哪些
  • 货币基金可以投资
  • 缴纳补充公积金的外企
  • 境内所得境外发放工资
  • 小微企业增值税申报表怎么填
  • 国地税联合财务报表小规模企业需要报送的吗?
  • 工资三金是指哪三样
  • 展会门票入什么科目
  • 运费专票当月如何入账
  • 补发工资补缴公积金一直没到账
  • 销售材料并提供安装服务税率
  • 普票红字发票怎么写摘要
  • 核定征收的小规模企业优惠
  • windows聚焦无法显示 为灰色
  • 外汇账户怎么做账
  • win11桌面右键失效
  • sdstat.exe - sdstat是什么进程 有什么用
  • 金融企业的贷款准备金
  • 研发费用加计扣除新税收政策2023
  • 机动车发票金额含税吗
  • 比利时的平菇能吃吗
  • 信用减值损失会影响所有者权益吗
  • 厂房维修费是制造费用还是管理费用
  • 未核定税种是谁的责任
  • 分期收款企业所得税确认时间
  • 2021高频前端面试题汇总
  • Python怎么把数据倒着输出
  • 社保费和公积金一定要计提吗
  • phpcms怎么用
  • 小规模简易征收最新政策2020
  • 残疾人就业保障金申报时间
  • 建筑业增值税是什么意思
  • 开个分公司有啥好处
  • 土地免缴土地使用税
  • 主营业务成本包括哪些
  • 资金过账属于洗钱吗
  • 以前年度的费用发票怎么入账
  • 寄售商店代销寄售物品的税率
  • 企业营改增税率是多少
  • 冲暂估的差异放在哪里
  • 清空表内数据语句
  • mysql停不掉
  • nvidia专业卡性能对比
  • 怎么进入bios设置界面win10
  • mmc无法创建管理单元win10
  • 微软每月补丁更新一般于什么时间发布
  • ubuntu中no such file or directory
  • 操作系统安全配置一般包括哪些内容
  • win7如何创建新桌面
  • win8如何使用网页版的onedrive
  • xp系统无法正常启动怎么办
  • 微软强制升级
  • PHP 7.0.0 Alpha 2 发布
  • Javascript之Number对象介绍
  • 零基础搭建直播室与云直播平台
  • 安卓手机关掉
  • python第九套答案
  • Android studio 无法勾选sdk
  • javascript教程
  • python遍历文本的每条数据
  • jquery中的选择器有哪些
  • jquery 购物车
  • 税务软件服务商
  • 重庆电子税务局官网登录入口
  • 河南旧县为什么叫新县
  • 零申报的企业残保金怎么申报
  • 农夫山泉水质量合格吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设