HTML5技术

谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现 - 千年风雅丶(4)

字号+ 作者:H5之家 来源:H5之家 2017-07-23 10:01 我要评论( )

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NetFrame.auto{ public class LengthEncoding{ 粘包长度编码

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NetFrame.auto { public class LengthEncoding { 粘包长度编码 [] encode(byte[] buff) { MemoryStream ms = new MemoryStream();//创建内存流对象 BinaryWriter sw = new BinaryWriter(ms);//写入二进制对象流 //写入消息长度 sw.Write(buff.Length); //写入消息体 sw.Write(buff); byte[] result = new byte[ms.Length]; Buffer.BlockCopy(ms.GetBuffer(), 0, result, 0, (int)ms.Length); sw.Close(); ms.Close(); return result; } 粘包长度解码 [] decode(ref List<byte> cache) { if (cache.Count < 4) return null; MemoryStream ms = new MemoryStream(cache.ToArray());//创建内存流对象,并将缓存数据写入进去 BinaryReader br = length = br.ReadInt32();//从缓存中读取int型消息体长度 (length > ms.Length - ms.Position) { return null; } [] result = br.ReadBytes(length); //清空缓存 cache.Clear(); //将读取后的剩余数据写入缓存 cache.AddRange(br.ReadBytes((int)(ms.Length - ms.Position))); br.Close(); ms.Close(); return result; } } }

  • 6.delegate委托声明
  •    delegate 是表示对具有特定参数列表和返回类型的方法的引用的类型。 在实例化委托时,可以将其实例与任何具有兼容签名和返回类型的方法相关联。通过委托实例调用方法。委托相当于将方法作为参数传递给其他方法,类似于 C++ 函数指针,但它们是类型安全的。

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NetFrame { [] LengthEncode(byte[] value); [] LengthDecode(ref List<byte> value); [] encode(object value); decode(byte[] value); }

  • 7.用户连接对象UserToken
  • SocketAsyncEventArgs介绍
  •  

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • createjs 小游戏开发实战 - beidan

      createjs 小游戏开发实战 - beidan

      2017-07-07 08:00

    • 前端实现连连看小游戏(1) - beidan

      前端实现连连看小游戏(1) - beidan

      2017-06-22 09:03

    • 网页版扫雷游戏 - 季末的寂寞

      网页版扫雷游戏 - 季末的寂寞

      2017-04-21 13:00

    • Html5游戏框架createJS组件--EaselJS - 叶超Luka

      Html5游戏框架createJS组件--EaselJS - 叶超Luka

      2017-03-22 12:01

    网友点评
    o