zoukankan      html  css  js  c++  java
  • Socket 之 传值方式

    一、传送 DataTable 和 DataSet

      1、发送端需序列化数据为二进制序列化格式

            public static byte[] GetBinaryFormatDataSet(DataSet ds)
            {
                byte[] binaryResult = null;
                //创建内存流
                using (MemoryStream memStream = new MemoryStream())
                {
                    //产生二进制序列化格式
                    IFormatter formatter = new BinaryFormatter();
                    //指定DataSet串行化格式是二进制
                    ds.RemotingFormat = SerializationFormat.Binary;
                    //串行化到内存中
                    formatter.Serialize(memStream, ds);
                    //将DataSet转化成byte[]
                    binaryResult = memStream.ToArray();
    
                    //清空和释放内存流
                    memStream.Close();
                    memStream.Dispose();
                }
                return binaryResult;
            }

      2、接收端需反序列化

            public static DataSet RetrieveDataSet(byte[] binaryData)
            {
                DataSet ds = null;
                //创建内存流
                using (MemoryStream memStream = new MemoryStream(binaryData))
                {
                    memStream.Seek(0, SeekOrigin.Begin);
                    //产生二进制序列化格式
                    IFormatter formatter = new BinaryFormatter();
                    //反串行化到内存中
                    object obj = formatter.Deserialize(memStream);
                    //类型检验
                    if (obj is DataSet)
                    {
                        ds = (DataSet)obj;
                    }
                }
                return ds;
            }    

    二、字符串

      1、发送端

    string msg = "Message from server at " + DateTime.Now.ToString();
    byte[] buffer = Encoding.Unicode.GetBytes(msg);

      2、接收端

    byte[] buffer = new byte[1024];
    string message = Encoding.Unicode.GetString(buffer, 0, length);
  • 相关阅读:
    linux常用命令
    chattr无法删除某个文件
    centos如何卸载软件
    linux命令行下的ftp 多文件下载和目录下载
    yum -y upgrade 和 yum -y update 区别
    Pureftpd
    centos rar安装
    linux系统数据盘挂载教程
    anyexec
    _variant_t
  • 原文地址:https://www.cnblogs.com/xinaixia/p/5851826.html
Copyright © 2011-2022 走看看