我目前正在研究使用websockets在客户端/代理和服务器之间进行通信,并决定为此目的查看C#.虽然之前我曾经使用过Websockets和C#,但这是我第一次使用它们.第一次尝试使用以下指南:http: //www.codeproject.com/Articles/618032/Using-WebSocket-in-NET-Part
public static void Main(string[] args)
{
Task t = Echo();
t.Wait();
}
private static async Task Echo()
{
using (ClientWebSocket ws = new ClientWebSocket())
{
Uri serverUri = new Uri("ws://localhost:49889/");
await ws.ConnectAsync(serverUri, CancellationToken.None);
while (ws.State == WebSocketState.Open)
{
Console.Write("Input message ('exit' to exit): ");
string msg = Console.ReadLine();
if (msg == "exit")
{
break;
}
ArraySegment<byte> bytesToSend = new ArraySegment<byte>(Encoding.UTF8.GetBytes(msg));
await ws.SendAsync(bytesToSend, WebSocketMessageType.Text, true, CancellationToken.None);
ArraySegment<byte> bytesReceived = new ArraySegment<byte>(new byte[1024]);
WebSocketReceiveResult result = await ws.ReceiveAsync(bytesReceived, …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用 REST 使用我的控制台应用程序使用来自外部服务/服务器的数据,但它不是很实时。
任何人都可以提供一个非常基本的工作示例,说明如何将 .net core 控制台应用程序连接到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"))
{
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但new WebSocket("wss://echo.websocket.org"))显示错误Cannot create an instance of the abstract type or interface 'WebSocket' [websocket]csharp(CS0144)