位置: 编程技术 - 正文

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

  • 个体工商户生产经营所得税税率表2021
  • 公章损坏更换的费用怎么记账
  • 单位承担的社保费用计入什么科目
  • 房地产定金及预收款
  • 旅游公司如何缴费
  • 小微企业和小规模纳税人的区别
  • 预付货款后收到货怎么做账
  • 培训学校教具记在什么费用
  • 企业未能实施个人所得税代扣代缴是否会罚款呢?
  • 建安税由谁承担
  • 拿票报销的交通费要交个人所得税吗
  • 电子税务局进项票汇总
  • 零申报资产总额填注册资本怎么办呢
  • 卷烟批发环节消费税计算
  • 实验耗材发票内容怎么写
  • 附加税退款分录
  • 非同一控制下合并报表编制
  • 系统安全保障体系
  • 电脑添加小工具
  • 会计分录是怎么写的
  • 公司购买一辆车
  • 个人所得税跨年度能退吗
  • Win10 Build 19043.1266(21H1)更新已知问题汇总
  • sisusbrg.exe - sisusbrg是什么进程 有什么用
  • php简单实例
  • laravel登录接口
  • 无偿转让房屋
  • 应付保理怎么做账
  • redux reducer使用教程
  • vue中computed和watch
  • pythonjson文件存储
  • 托收的收款人是谁
  • 保教费收入要交企业所得税吗
  • 劳务费发票 个税
  • 个体户税率征收
  • dede织梦怎么转成zblog
  • 现金发放工资会扣税吗
  • 公司给部分员工长期停工怎么办
  • 高铁票的电子发票
  • 企业所得税汇算清缴会计分录
  • 零税项目
  • 变更股东投资比例
  • 预收账款和预付账款的区别
  • 支付运费的会计怎么记录运输费
  • 取得交易性金融资产支付的相关税费计入
  • 简易计税指的是增值税吗
  • 村委会靠什么赚钱
  • 应付账款抹零摘要怎么写
  • 汇算清缴后补缴得企业所得税,计入哪年的税负
  • 公司租赁办公场所,没发票怎么办
  • 其他人挂靠公司交社保会计处理怎么做?
  • 电子增值税发票样本
  • 预计负债的初始计量
  • 购入固定资产中的增值税
  • 残保金新公司第一年免费吗
  • 工会经费的减除项是什么
  • sql server数据库中的null(空值)
  • MySQL-tpch 测试工具简要手册
  • sql server 用法
  • sql根据逗号分割数据
  • win7 64位系统如何查看计算机名称为了应付某一操作
  • 苹果mac最新的系统
  • ssh远程连接linux
  • linux系统崩溃了怎么办
  • 解决安装后软件icon一圈白边问题
  • cocos安装
  • number fields to_char
  • h1标签的使用完全正确的是
  • JavaScript中的方法名不区分大小写
  • 编写shell脚本,批量建立用户
  • node. js教程
  • Unity3d HDR和Bloom效果(高动态范围图像和泛光)
  • unity3d的作用
  • jquery实现全选和取消全选
  • js使用类
  • 厂房转让的土地税怎么算
  • 人工智能在税务领域应用中的风险与规制
  • 申报期一般是什么时候
  • 郑州房产交契税在哪里交
  • 新四板企业哪里可以查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设