位置: 编程技术 - 正文

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

  • 独立核算和非独立核算由谁定
  • 小规模纳税人租金发票开几个点
  • 施工安全协议违约怎么办
  • 股息收入所得税率
  • 企业税收标准是多少
  • 生产设备购买交付会计分录
  • 车间领用周转材料会计分录怎么写
  • 新公司营业执照经营范围越多越好吗
  • 金税盘和报税盘图片
  • 公司注销财务账需要保存几年
  • 中途建账期初余额错误怎么纠正
  • 个人工程款税怎么开
  • 一般企业可以开检测费吗
  • 销售退回如何做账
  • 苹果电脑截图快捷键
  • 非房地产企业的基建管理办法
  • 企业收缩案例
  • 劳务公司开发票,劳务公司怎么转取收入
  • u盘一键启动安装系统
  • 不合格原材料
  • php string函数
  • php ftp上传文件
  • 代扣代缴个人所得税怎么申报
  • php解析url参数
  • 企业购入软件会计分录
  • 建账初期的库存商品录入
  • iis 7下安装laravel 5.4环境的方法教程
  • vue3中使用for循环引用多个组件
  • 解决掉发的有效方法
  • 华为od测试岗机试需要怎么准备
  • 纳税检查调整销售额什么意思
  • discuz 移动端
  • 车票抵扣增值税在哪里申报
  • 企业将存款汇往异地银行
  • 公司开的餐费专票可以抵扣吗
  • 应纳税所得额调整金额怎么算
  • 养殖场租赁发票图片
  • 企业代收水电费算不算收入
  • 增值税退税流程怎么操作
  • 资产减值损失如何计算
  • 进项税额不得从销项税额中抵扣是什么意思
  • 异地多缴纳预缴税怎么退
  • 外贸企业增值税申报
  • 长期股权投资收益要交税吗
  • 小规模年度企业所得税纳税申报表
  • 长期股权投资应计提减值准备的金额
  • 工程检测单位
  • 实发工资有小数点是如何解决的
  • 高新技术企业进项税加计扣除10%如何填企业所得税季报
  • 应付款多付了不可退回怎么做会计分录
  • 2020年账簿印花税减免政策
  • 增值税附加税有哪些
  • 转出投资款计入现金流量表的哪里
  • sql中where语句的写法
  • mysql的日志
  • mysql 创建root用户和普通用户及修改删除功能
  • 断电恢复
  • ubuntu20 vnc
  • win8系统安装步骤
  • freebsd重置密码
  • wkqkpick.exe进程是什么
  • linux校验文件
  • centos安装软件教程
  • win7系统检测不到u盘
  • popupwindow底部弹出
  • JAVAscript操作word
  • opengl
  • js动态表格可修改表格数据
  • [置顶]游戏名:chivalry2
  • shell 替换文件中匹配的内容
  • 不同页面之间传递数据
  • 原生js实现路由
  • jQuery 3.0 的 setter和getter 模式详解
  • js如何定义类
  • 个人意外所得税税率
  • 湖南社保卡怎么网上缴费
  • 北京电子税务局实名认证
  • 如何提升基层党建质量
  • 山东省地方税务局关于个人所得税
  • 当前土地增值税优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设