1

私はしばらく Super Web Socket を使用しています。これは素晴らしいです。すべて動作します。コマンドを送信でき、問題はありません。今、1 つのコマンド内で大量のコマンドを送信しようとしています。小さなコマンドをたくさん送信すると、 websocketStart の動作は非常に遅いため、いくつかのコマンドをまとめて 1 回で送信する新しいコマンドを作成しました。シリアル化の問題を扱っています。助けていただければ幸いです。私のコマンドは、BulkCMD_Structure をクライアントに送信します。配列内の 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
4

1 に答える 1

0

単に変更しました:

iBulkCMD_Data[]DataArrayまたは

DataArrayを一覧表示します

オブジェクト[]DataArrayへ

于 2013-01-07T09:54:49.933 に答える