C# 创建基于客户端websocket的控制台应用程序
目前,我正在使用REST使用我的控制台应用程序从外部服务/服务器使用数据,但它不是非常实时的 有谁能提供一个非常基本的工作示例,说明我如何将.net核心控制台应用程序连接到C# 创建基于客户端websocket的控制台应用程序,c#,linux,.net-core,C#,Linux,.net Core,目前,我正在使用REST使用我的控制台应用程序从外部服务/服务器使用数据,但它不是非常实时的 有谁能提供一个非常基本的工作示例,说明我如何将.net核心控制台应用程序连接到wss://echo.websocket.org 我从以下几点开始: using System; using System.Net.WebSockets; namespace websocket { class Program { static void Main(string[] args)
wss://echo.websocket.org
我从以下几点开始:
using System;
using System.Net.WebSockets;
namespace websocket
{
class Program
{
static void Main(string[] args)
{
using (var ws = new WebSocket("wss://echo.websocket.org"))
{
}
}
}
}
但是
新的WebSocket(“wss://echo.websocket.org)
显示错误无法创建抽象类型或接口“WebSocket”[WebSocket]csharp(CS0144)的实例如果您不想使用库来解决问题,您必须与.NET的某些内部结构进行斗争
下面的代码应该提供一个简单的工作解决方案
公共静态异步任务主(字符串[]args)
{
CancellationTokenSource=新的CancellationTokenSource();
使用(var ws=new ClientWebSocket())
{
等待ws.ConnectAsync(新Uri(“wss://echo.websocket.org),取消令牌。无);
字节[]缓冲区=新字节[256];
while(ws.State==WebSocketState.Open)
{
var result=await ws.ReceiveAsync(新的ArraySegment(缓冲区),CancellationToken.None);
if(result.MessageType==WebSocketMessageType.Close)
{
等待ws.CloseAsync(WebSocketCloseStatus.NormalClose,string.Empty,CancellationToken.None);
}
其他的
{
HandleMessage(缓冲区、结果、计数);
}
}
}
}
私有静态void HandleMessage(字节[]缓冲区,整数计数)
{
WriteLine($“接收到{BitConverter.ToString(缓冲区,0,计数)}”);
}
WebSocket
类是.Net
中的抽象类,不能实例化抽象类
请查看此链接:
请参阅以下来源以获取指南:
WebSocket类
是.Net中的抽象类,不能实例化抽象类。请查看以下链接:尝试此链接或此链接:以实现您的WebSocket客户端