推荐一个Socket类库,支持心跳自动检测

FKSocket

一个超级轻量的socket类库,一切才刚刚开始,还有很多工作要做。

引用

Install-Package iml6yu.FKSocket -Version 0.0.1-bate2202501

Clients

客户端,包含客户端的连接,心跳等方法

FKSocketManage

客户端管理对象
用法

//创建一个客户端对象
var client = FKSocketManager.CreateClient(new SocketOption()
{
    Host = "127.0.0.1",
    Port = 30000
});

FKSocketClient

客户端对象,创建后需要关注几个事件

//连接状态
client.ConnectStateChanged += (flag, msg) =>
{
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.WriteLine($"连接状态:{flag},描述信息:{msg}");
    Console.ForegroundColor = ConsoleColor.White;
};

//收到数据
client.Received += (msg) =>
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine($"接收到信息:{msg}");
    Console.ForegroundColor = ConsoleColor.White;
}; 

连接客户端

client.Connect();

启用心跳管理

//默认10s检测时间
client.OpenHeartCheck();

启用断线重连

client.Connect().OpenHeartCheck()
    //打开断线重连
    .OpenAutoReConnection(3);

断线重连效果
在这里插入图片描述

简写

client.Connect().OpenHeartCheck();

完整demo代码

// See https://aka.ms/new-console-template for more information
using iml6yu.FKSocket;

Console.WriteLine("Hello, World!");

var client = FKSocketManager.CreateClient(new SocketOption()
{
    Host = "127.0.0.1",
    Port = 30000
}); 

//连接状态
client.ConnectStateChanged += (flag, msg) =>
{
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.WriteLine($"连接状态:{flag},描述信息:{msg}");
    Console.ForegroundColor = ConsoleColor.White;
};

//收到数据
client.Received += (msg) =>
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine($"接收到信息:{msg}");
    Console.ForegroundColor = ConsoleColor.White;
};

client.Connect().OpenHeartCheck();

string input;
Console.WriteLine("请输入您需要发送的内容!");
#pragma warning disable CS8600 // 将 null 字面量或可能为 null 的值转换为非 null 类型。
while ((input = Console.ReadLine()) != "exit")
{
    client.Send(input);
    Console.WriteLine("请输入您需要发送的内容!");
}
#pragma warning restore CS8600 // 将 null 字面量或可能为 null 的值转换为非 null 类型。

client.Dispose();

Console.WriteLine("一切到此结束了!");

效果

连接
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值