位置: 编程技术 - 正文

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

  • 企业稳岗返还申请报告模板
  • 公对公转账在手机上怎么操作
  • 建筑公司包工包料账务处理
  • 股东分红需要开股东会决定吗?
  • 主营业务成本包括职工薪酬吗
  • 企业转让固定资产要交什么税
  • 汇算清缴企业所得税退税账务处理
  • 经营租赁违约金可以直接冲租赁费
  • 预缴增值税怎么填表
  • 个税专项扣除如何迁移
  • 电商平台退货退款流程图
  • 附加税按实际缴纳计提吗
  • 计提摊销房租会计分录
  • 公司股权折价收入怎么算
  • 销项负数发票会计摘要
  • 收购个人独资企业的税收
  • 怎么分清楚待认识的人
  • 发票 抵扣联
  • 小规模纳税人税费怎么算
  • "明股实债“的税务风险,你真的清楚吗?
  • 个税申报中工资薪金是不是全年实际工资
  • 差旅费未及时报销说明怎么写
  • 工业企业销售管理制度
  • 未抵扣进项税额可以退税吗
  • 施工企业代甲方购材料的账务处理?
  • 涉税票据如何避免税务风险?
  • 垃圾清运工程师
  • 银行存款转定期存款计入什么科目
  • 会计核算的一般对象
  • 未开票收入冲回如何做账
  • 华硕笔记本装win8
  • 路由器晚上关了,早上再开信号会好吗?
  • 防伪税控盘全额抵扣政策
  • 其他业务收入与营业外收入
  • php 文件系统
  • multipartfile 多文件上传
  • php正则表达式匹配字符串
  • 浅谈双减背景下的高效课堂
  • 平常心下一句该怎么说
  • vue $函数
  • 进口设备退增值税
  • 广告宣传制作
  • 收据入帐
  • 企业所得税的营业成本包括期间费用吗
  • 基于stm32的毕业设计
  • 企业内部交易如何操作
  • 进销存有什么用
  • 固定资产大修理和更新改造的区别
  • 作废的发票也要交印花税吗
  • 借款利息税前扣除应当注意的三个问题
  • 应收票据的核算范围包括
  • 福利费可以计入销售费用吗
  • 彩票扣税吗
  • 款已付未收到发票
  • 公司中征码是什么样子的
  • 物流公司的会计怎么样
  • 生产成本工时怎么算
  • 挂靠企业电费如何处理?
  • 连锁药店之间调拨药品
  • 电子版银行回单
  • 企业办理土地证需要哪些资料
  • SQLServer:探讨EXEC与sp_executesql的区别详解
  • c#如何使用数据库
  • 使用xshell连接虚拟机需要修改哪些配置
  • 更新win8
  • linux查内存信息
  • 跑跑跑游戏
  • unityai寻路
  • android自动开关机失效
  • retrofit提交表单
  • unity learn
  • awk入门
  • JavaScript基础教程
  • 江苏省电子税务局社保缴费查询
  • 济南个税起征点是多少2021
  • 国税局登录密码修改
  • 环保税截止时间
  • 地税服务大厅上班时间
  • 企业租入房子用交税吗
  • 个人所得税怎么填写子女教育
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设