using Microsoft.AspNetCore.SignalR.Client;
HubConnection connection = new HubConnectionBuilder()
.WithUrl("http://localhost:44394/hub/chat", options =>
{
options.AccessTokenProvider = async () =>
{
var accessToken = await File.ReadAllTextAsync("accessToken.txt");
return accessToken;
};
})
.WithAutomaticReconnect()
.Build();
connection.Closed += async (error) =>
{
Console.WriteLine("Connection closed...");
await Task.Delay(new Random().Next(0, 5) * 1000);
await connection.StartAsync();
Console.WriteLine("Connected to server successfully");
};
connection.Reconnecting += error =>
{
if (connection.State == HubConnectionState.Reconnecting)
{
Console.WriteLine("Reconnecting...");
}
return Task.CompletedTask;
};
connection.Reconnected += str =>
{
Console.WriteLine("Reconnect to server successfully...");
return Task.CompletedTask;
};
connection.On<string, string>("ReceiveMessage", (user, message) =>
{
Console.WriteLine($"ReceiveMessage from {user}: {message}");
});
await connection.StartAsync();
Console.WriteLine("Connected to server successfully");
ConsoleKeyInfo key = Console.ReadKey(true);
do
{
key = Console.ReadKey();
} while (key.Key is not ConsoleKey.Q);
.NET SignalR Console Client demo
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- Signalr是以Group、Connect为核心来进行推送,比如,给某个组、某个连接来推送,但实际场景中,核心应...
- 一、概要 这篇文章将向大家分享最近学习的一种实时通讯框架SignalR。 什么是SignalR? SignalR是...
- 因为公司项目需要,所以研究了下如何在Vue中使用,结合网上已有的教程进行了整理,算是记下一些自己遇到的坑。希望给自...
- 测试环境 云服务商:阿里云实例规格:通用型 g7 / ecs.g7.4xlarge(16vCPU 64GiB)操作...
- 最近在维护一个稍老一些的项目,项目当时使用webapi2写的,但是并没有用上及时推送功能,现在要加上,只好在老的项...