使用 C# .Net 从 WebSocket 抓取数据

Posted

技术标签:

【中文标题】使用 C# .Net 从 WebSocket 抓取数据【英文标题】:Scrape data from WebSocket with C# .Net 【发布时间】:2016-12-28 10:00:25 【问题描述】:

我需要“一次”从 websocket 中抓取数据。

我的意思是我不需要从源头连续获取数据,但我需要 一次性获取数据并退出阐述。

我不需要 Async 任务,我只需要像一个简单的 API 一样使用它。

我正在为网络搜索而苦苦挣扎,但没有找到任何解决方案。

感谢支持

【问题讨论】:

【参考方案1】:

我认为您正在努力寻找这样的代码,因为 websocket 几乎是一个双向协议,而不是真正的 RPC 风格。 但是为了满足您的需求,您当然可以使用诸如 websocket-sharp 之类的库。您发送命令文本并接收返回消息的代码如下所示:

using System;
using WebSocketSharp;

namespace Example

  public class Program
  
    public static void Main (string[] args)
    
      using (var ws = new WebSocket ("ws://YOUR_URI_HERE")) 
        ws.OnMessage += (sender, e) =>
            Console.WriteLine ("It's ok I got my answer back : " + e.Data);

        ws.Connect ();
        ws.Send ("COMMAND FOR THE SERVER");
        Console.ReadKey (true);
      
    
  

希望这些代码可以帮助您入门。

【讨论】:

websocket-shap 是否支持附加标头? 感谢您的宝贵帮助。你知道 websocket-shap 是否支持额外的头文件吗?我需要添加 User-Agent 作为标头,否则 websocket 不接受连接... 您好,您无法更改用户代理,但如果您获取库的代码,您可以将其作为一个属性或硬编码您的用户代理(为此,您必须更改代码在这个类:github.com/sta/websocket-sharp/blob/master/websocket-sharp/…)

以上是关于使用 C# .Net 从 WebSocket 抓取数据的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET C# WebSocket

C# .NET Core websocket ssl 问题 - dh 密钥太小

C# SSL WebSocket Client 中是不是有.net 4.0?

使用 c# 和 WebSocket4Net 发送 Json

如何使用 C# 和 ASP.Net Core 2.2 连接和收听外部 websocket url

如何在 C# 中验证 Websocket 连接