位置: 编程技术 - 正文

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

  • 未认证的进项税能做转出处理吗
  • 增值税可以退税嘛
  • 汇算清缴中研发费用中其他费用可抵扣的比例是多少
  • 没有收汇可以申报吗
  • 材料溢价分录
  • 授予股票期权分录
  • 工会的会费收入如何记账
  • 融资租赁咨询服务合同需要交印花税吗
  • 将外购商品作为非货币性
  • 工程项目立项前包括哪几个过程
  • 发票联丢失用抵扣联做账可以吗
  • 化妆品消费税是从价还是从量
  • 企业所得税预缴可以不交吗
  • 12月份奖金怎么扣个税
  • 分公司非独立核算是什么意思
  • 公路通行费抵扣进项税
  • 企业长期股权投资
  • 图书发票票样
  • 客户扣了一部分不合格产品的货款,请问如何做账呢?
  • 总账每个月都要结账吗
  • 不符合条件的数据
  • 富士通FUJITSU笔记本电脑开机进入BIOS的方法(F2)
  • 消费税有减免政策吗
  • ubuntu 20.04.1
  • php str函数
  • 借条和欠条的区别 法律效力
  • 变更营业执照中心怎么改
  • 股权激励的账务处理
  • 境外汇款所得税缴纳规定
  • 权益法转成本法为什么用账面价值
  • 股东已转让股权还可以追究出资吗
  • PHP:mdecrypt_generic()的用法_Mcrypt函数
  • 波特兰在哪
  • laravel 分层
  • yii2框架中文手册
  • 国际税收协定有哪些主要内容
  • 半球形的谢尔亨里克森天文台,挪威斯瓦尔巴群岛 (© Vincent Fournier/Gallery Stock)
  • phpstudy配置
  • javascript原生
  • vue项目安装路由
  • 借管理费用贷应交税费个人所得税
  • 到2023年
  • vue从入门到精通教程
  • windowsserver2016激活密钥
  • idea如何运行别人的vue项目
  • 垃圾费放在哪个会计科目
  • 长期股权投资入账
  • 经营租赁会计的核算原则
  • 查财务报表的网站有哪些
  • 个人所得税可以取出来用吗
  • 库存商品出库分类
  • 集团公司一般怎么称呼
  • 公司固定电话费用挂哪个科目
  • 支付收购股权款如何做账
  • 坏账准备的会计分录例题
  • 买二手设备需要签合同吗
  • 慈善捐款流程
  • 新成立的分公司怎么样
  • 工业企业销售商品分录
  • Vista技巧:何在Vista上运行不兼容的旧版本软件
  • 解析包出现错误无法安装怎么办
  • winxp开启远程控制
  • centos建站教程
  • xp系统进程
  • “0x018b0b20”指令引用的“0×00000000”,该内存不能为“written”问题解决方法
  • 系统闹钟设置
  • jquery手风琴折叠菜单
  • android base64传图片
  • nodejs异步处理执行顺序
  • herd什么意思
  • 安卓系统休眠设置在哪
  • python中面向对象
  • android上吹一吹功能的实现代码
  • jquery ui draggable
  • jquery选择器写法
  • 社保扣缴客户端下载
  • 车船税每年多少钱
  • 远程办税系统
  • 组织生活会有民族评议党员大会会后报告
  • 通用机打发票明细怎么导出电子版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设