WebSocketReceiveResult заставляет получать двоичный файл - PullRequest
0 голосов
/ 24 апреля 2020

Я использую Websocket.Client, который является оберткой вокруг ClientWebSocket, внутри его я вижу WebSocketReceiveResult и использую его для обнаружения содержимого сообщения result.MessageType == WebSocketMessageType.Text.

Есть ли способ заставить веб-socker только получать двоичные сообщения (не выполнять преобразование в строку?) или формат данных определяется сервером?

namespace Websocket.Client
{
    //
    // Summary:
    //     Received message, could be Text or Binary
    public class ResponseMessage
    {
        //
        // Summary:
        //     Received text message (only if type = WebSocketMessageType.Text)
        public string Text { get; }
        //
        // Summary:
        //     Received text message (only if type = WebSocketMessageType.Binary)
        public byte[] Binary { get; }
        //
        // Summary:
        //     Current message type (Text or Binary)
        public WebSocketMessageType MessageType { get; }

        //
        // Summary:
        //     Create binary response message
        public static ResponseMessage BinaryMessage(byte[] data);
        //
        // Summary:
        //     Create text response message
        public static ResponseMessage TextMessage(string data);
        //
        // Summary:
        //     Return string info about the message
        public override string ToString();
    }
}

1 Ответ

0 голосов
/ 26 апреля 2020

Эта функция была реализована автором Websocket.Client в течение нескольких часов после публикации на странице github ... удивительно!

using var client = new WebsocketClient()
{
   IsTextMessageConversionEnabled = false
};
...