WebSocketReceiveResult 强制接收二进制

Posted

技术标签:

【中文标题】WebSocketReceiveResult 强制接收二进制【英文标题】:WebSocketReceiveResult force to receive binary 【发布时间】:2020-04-24 19:11:39 【问题描述】:

我正在使用Websocket.Client,它是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();
    

【问题讨论】:

【参考方案1】:

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

using var client = new WebsocketClient()

   IsTextMessageConversionEnabled = false
;

【讨论】:

以上是关于WebSocketReceiveResult 强制接收二进制的主要内容,如果未能解决你的问题,请参考以下文章

关于vue强制刷新

.htaccess:在所有页面上强制 www,在一个页面上强制 https,在所有其他页面上强制 http

索引的强制使用与强制禁用

Python中的强制转换和强制转换有啥区别?

手机怎么开启强制GPU渲染

bat强制全屏