C# WebSocket 通过ReceiveAsync接收大数据的组包处理
WebSocket在发送大数据时会进行分包处理,因此我们在使用ReceiveAsync接收想要的数据时需要进行组包处理,确保接收到的是我们想要的完整数据。
具体示例如下:
/// <summary>
/// 确保接收完整数据
/// </summary>
/// <param name="webSocket">webSocket连接</param>
/// <param name="length">接收数据长度</param>
/// <returns>完整数据</returns>
/// <exception cref="Exception">接收数据出错</exception>
private static async Task<byte[]> SureReceiveFullData(System.Net.WebSockets.WebSocket webSocket, int length)
{
byte[] buffer =