0

我正在使用Websocket.Clientwhich 是一个包装器ClientWebSocket,在它的内部我可以看到WebSocketReceiveResult它正在使用它来检测消息内容result.MessageType == WebSocketMessageType.Text

有没有办法强制 web 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();
    }
}
4

1 回答 1

0

此功能由作者Websocket.Client在 github 页面上发布后的几个小时内实现......太棒了!

using var client = new WebsocketClient()
{
   IsTextMessageConversionEnabled = false
};
于 2020-04-26T12:09:13.143 回答