В основном Джон ответил на это
Свойство WebSocketReceiveResult.Count
Указывает количество байтов, полученных WebSocket.
Количество может быть 0 в двух случаях:
WebSocket получил пустое сообщение.В этом случае свойство CloseStatus имеет значение None.
WebSocket получил сообщение о закрытии от удаленной конечной точки.В этом случае свойству CloseStatus присваивается значение, отличное от None.
GetString (Byte [], Int32, Int32)
public virtual string GetString (byte[] bytes, int index, int count);
При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в строку.
- байтов
Byte[]
Массив байтов, содержащий последовательность байтов для декодирования. - index
Int32
Индекс первого байта для декодирования. - count
Int32
Количество байтов для декодирования.
Так что вам понадобитсячто-то вроде этого
Console.WriteLine("New message received : "+ Encoding.UTF8.GetString(buffer,0,Result.Count));
Однако, и это большой, однако.Есть еще что-то, чтобы пойти не так, и я бы серьезно предложил получить хороший WebSocket
учебник и несколько пуленепробиваемых (типичных) конструкций