位置: 编程技术 - 正文

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怎么关闭搜索框
  • 包装物押金为什么含税
  • 结转本月主营业务收入800000元,营业外收入2500元
  • 购入需要安装的设备的会计分录
  • 企业的工资薪金等现金支出只能通过什么办理
  • 费用超额怎么写申请
  • 企业之间拆借资金
  • 深入解析windows第7版卷2
  • 一般纳税企业增值税计算
  • 房地产企业项目开发法律风险
  • 备用金支出没有发票怎么办
  • 商业预付卡可以报销吗
  • css定位属性的运用
  • 爬虫失败的原因
  • 因税收取得的票据是什么
  • 怎么查看代理记账协议终止情况
  • 资产减值损失属于什么科目借贷方向
  • 企业注销时还有进项税
  • 标签显示内容怎么设置
  • 股权转让过程中的税费
  • 差旅费属于什么支出类型
  • 捐赠的资产属于什么科目
  • 工程预付款发票开什么明细项目
  • 研发费用如何做账
  • 生产过程中的不良品怎么处理
  • 赠送商品需要开发票吗
  • 总公司可以开发票给分公司吗
  • 会计信息不采集可以考初级吗
  • 房地产企业增值税计算
  • 三栏式明细账适用于原材料吗
  • ubuntul
  • mysql8.0存储过程
  • mysql数据库中SELECT * FROM是什么
  • linux 禁用root
  • STMGR.EXE - STMGR是什么进程
  • svchos1.exe - svchos1是什么教程 有什么作用
  • win10系统电脑无法开机怎么办
  • windows xp无法访问samba共享夹
  • centos安装rz命令
  • win102020h2怎么样
  • 如何win10
  • win10 window
  • win10无法升级系统
  • 基于jQuery的设计与实现
  • 安卓运行环境搭建
  • 解读css发展历史简述
  • 爬虫 python
  • opengl es4
  • 第四章之BootStrap表单与图片
  • window.close(); 关闭浏览器窗口js代码的总结介绍
  • css中背景图片设置
  • python第三方库在哪下载
  • 怎么用node.js写接口
  • nodejs中使用HTTP分块响应和定时器示例代码
  • Android eclipse for mac redo 快捷键
  • 快速解决偏头痛的6个方法
  • 所得税季度报表收入成本怎么填
  • 车船税每年多少钱
  • 小规模纳税人开专票
  • 普通手写发票税点多少
  • 公司员工开始摆烂怎么办
  • 青岛市税务管理局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设