zoukankan      html  css  js  c++  java
  • AMF序列化为对象和AMF序列化为二进制字节流

             在使用Flex作为页面前端驱动Socket通讯时,一般使用AMF格式来进行的发送和接收,因此就要涉及到不同的数据格式的转换。

    下面提供了AMF序列化为对象和AMF序列化为二进制字节流的方法,代码如下:

    //将AMF格式字节流转换为对象

    public static T AMF_Deserializer<T>(byte[] buffer,int length)
            {
                    MemoryStream stream = new MemoryStream(buffer,0,length);                       
                    ByteArray byteArray = new ByteArray(stream);                
                    object obj = byteArray.ReadObject();
                    if (obj == null)
                    {
                        return default(T);
                    }
                    return (T)obj;
            }

          // 将对象转换为AMF格式的字节流
            public static byte[] AMF_Serializer(object obj)
            {
                    FluorineFx.AMF3.ByteArray byteArray = new FluorineFx.AMF3.ByteArray();
                    byteArray.WriteObject(obj);
                    byte[] buffer = new byte[byteArray.Length];
                    byteArray.Position = 0;
                    byteArray.ReadBytes(buffer, 0, byteArray.Length);
                    return buffer;
             
            }


  • 相关阅读:
    SQL 递归查询(根据指定的节点向上获取所有父节点,向下获取所有子节点)
    限流脚本
    使用DANT做FTP的转发代理
    忘记token怎么加入k8s集群
    CentOS7.x使用overlay2文件系统
    文件已删除但句柄没有释放导致磁盘空间用完
    多线程学习(一)什么是多线程?
    自己用过的web软件tools软件以及玩过的游戏
    day1 学习历程
    git合并请求
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2294469.html
Copyright © 2011-2022 走看看