我是靠谱客的博主 清秀秋天,这篇文章主要介绍c语言socket心跳,Socket之心跳包实现思路,现在分享给大家,希望可以做个参考。

原  https://www..com/snaildev/p/7724867.html

心跳包的实现思路:

客户端连接上服务端后,在服务端会维护一个在线客户端列表。客户端每隔一段时间,向服务端发送一个心跳包,服务端受收到包以后,会更新客户端最近一次在线时间。一旦服务端超过规定时间没有接收到客户端发来的包,则视为掉线。

代码:

客户端每隔一段时间,发送一个心跳包:

var timer = new System.Timers.Timer();

timer.Interval = 60000;  //1m触发一次

timer.Start();

timer.Elapsed += (sender, args) =>

{

Console.WriteLine("开始发送心跳包");

MMessage message = new MMessage();

message.MessageType = MessagePicks.Heartbeat;

// message.From = loginName;

WriteToStream(message);

};

服务端每隔一段时间检测:

var timer = new Timer();

timer.Interval = 60000;  //1m触发一次

timer.Start();

timer.Elapsed += (sender, args) =>

{

List offClients

最后

以上就是清秀秋天最近收集整理的关于c语言socket心跳,Socket之心跳包实现思路的全部内容,更多相关c语言socket心跳内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(121)

评论列表共有 0 条评论

立即
投稿
返回
顶部