位置: 编程技术 - 正文

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

  • 租赁办公场所的请示
  • 运输公司税率和税种
  • 金税盘维护费发票需要认证吗
  • 黄金销售免税
  • 陈列费属于什么大类
  • 对母公司的其他说法
  • 一般纳税人没有进项怎么交税
  • 增值税发票9个点和13个点区别
  • 季初资产总额是1,季末是0怎么填
  • 持有至到期投资是什么意思
  • 本年利润,利润分配
  • 去年漏记了收入,可以记今年吗
  • 跨境电商怎么交税
  • 企业月奖金发放制度
  • 年底结账会计处理
  • 库存现金限额一般由开户银行根据企业
  • 活动策划税费
  • 滞留发票产生的原因主要包括哪些?
  • 上海电商行业怎么样
  • 收到未到期的银行承兑汇票会计分录
  • 拍卖物品的流程
  • 辅助生产费用怎么归集
  • 发放员工过节费
  • 跨年度取得发票会计分录
  • 网速保护功能介绍
  • 水土保持补偿费是一次性征收吗
  • 苹果电脑屏幕键盘怎么去除
  • 固定资产属于金融负债吗
  • php错误日志
  • 银行多收的开户费怎么办
  • 电脑时间同步不了解决方法
  • php数组函数 菜鸟
  • Javascript Object和Map之间的转换
  • php发送邮件代码
  • hp是什么软件
  • 财务管理集权与分权
  • 在杂志上发表文章算出版吗
  • 红字冲销的增值税发票怎么处理
  • 公司收不到的账款而发不出去怎么办
  • python PyQt如何使用资源
  • web开发百度百科
  • 土地增值税采用
  • 增值税报表附表三
  • 计提缴纳企业所的会计分录怎么写
  • sqlserver数据库指定目录
  • 修改数据库为多个数据
  • 预计净残值的计算公式excel
  • 增值税附加税包括哪些税种及税率
  • 刚购入的固定资产已使用年限怎么填
  • 印花税计提金额怎么算
  • 预收账款科目账龄怎么算
  • 付给农民的土地使用费
  • 固定资产折旧如何计提
  • 其他应付款社保借方余额怎么处理
  • sql语句百度百科
  • 在window中
  • iptables配置文件详解
  • windows终端美化
  • xp系统如何禁止开机启动软件
  • linux ./执行
  • win10系统打不开jpg图片
  • linux apache 启动
  • linux批量处理
  • 如何理解python语言
  • texturepackergui
  • js页面点击怎么随机生成图片
  • cocos2dx ActionManager播放动画回调问题
  • JAVA的OPENGL,JOGL入门实例----不断变色的点阵 (源代码)
  • jquery validation plugin
  • linux百度网盘安装
  • javascript零基础入门
  • linux使用文本编辑器
  • javascript要怎么学
  • jquery怎么写
  • js map(parseint)
  • javascript面向对象编程
  • 预约怎么缴费
  • 支部书记讲党课主题教育
  • 云南省税务局网上办税服务厅官网
  • 怎么查税务是否注销成功
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设