序列化Web套接字的通用

时间:2013-01-07 09:38:10

标签: c# serialization web websocket

我正在使用Super Web Socket一段时间,它很棒,一切正常,我可以发送命令而没有任何问题。现在我想在一个命令中发送大量命令,我看到如果我发送很多websocketStart工作得很慢的小命令,所以我出来用新的命令来收集一些命令并一次性发送它们。我正在处理序列化问题,如果你帮助我会很高兴。我的命令会发送BulkCMD_Structure到client.I我只得到数组中的CommandID :(

 #region BulkCommand
[Serializable]
public class BulkCMD_Structure
{
    public Int64 UserID { get; set; }
    public int DataArrayLength { get; set; }
    public List<BulkCMD_Data> DataArray;
}

[Serializable]
public class BulkCMD_Data
{
    public eWebSocketCMD CommandID { get; set; }
}
[Serializable]
public class BulkWindowCMD_Data : BulkCMD_Data
{
    public int X { get; set; }
    public int Y { get; set; }
    public int Width { get; set; }
    public int Height { get; set; }
    public byte[] Image { get; set; }
}

[Serializable]
public class BulkMouseStatusCMD_Data : BulkCMD_Data
{
    public int mousePositionX { get; set; }
    public int mousePositionY { get; set; }
}
#endregion

我也尝试了以下内容,但是获得了序列化错误:

#region BulkCommand
[Serializable]
public class BulkCMD_Structure
{
    public Int64 UserID { get; set; }
    public int DataArrayLength { get; set; }
    public iBulkCMD_Data [] DataArray;
}
[Serializable]
public class iBulkCMD_Data
{
    eWebSocketCMD CommandID { get; set; }
}
[Serializable]
public class BulkWindowCMD_Data : iBulkCMD_Data
{
    public eWebSocketCMD CommandID { get; set; }
    public int X { get; set; }
    public int Y { get; set; }
    public int Width { get; set; }
    public int Height { get; set; }
    public byte[] Image { get; set; }
}

[Serializable]
public class BulkMouseStatusCMD_Data : iBulkCMD_Data
{
    public eWebSocketCMD CommandID { get; set; }
    public int mousePositionX { get; set; }
    public int mousePositionY { get; set; }
}
#endregion

1 个答案:

答案 0 :(得分:0)

只需更改:

iBulkCMD_Data [] DataArray或

列出DataArray

对象[] DataArray