你的位置:首页 > 软件开发 > ASP.net > 介绍开源的.net通信框架NetworkComms框架之五 心跳检测

介绍开源的.net通信框架NetworkComms框架之五 心跳检测

发布时间:2016-08-23 10:00:16
原文网址: http://www.cnblogs.com/csdevNetworkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是:Apache License v2开源地址是:https://git ...

原文网址: http://www.cnblogs.com/csdev

Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是:Apache License v2

开源地址是:https://github.com/MarcFletcher/NetworkComms.Net

我们知道TCP连接建立之后,如果没有心跳检测,连接一会就断开了。NetworkComms框架本身已经完美实现了心跳检测,我们在使用的时候不用再关心这个问题。

NetworkComms通信框架中服务器端设定的发送心跳消息的时间小于客户端发送心跳消息,所以发送心跳消息的工作主要由服务器端来完成。

如果服务器端超出常规时间没有发送心跳消息,客户端才会开始发送。

相关实现代码:

ConnectionStatic方法中:

 protected static void TriggerConnectionKeepAliveThread()    {      lock (staticConnectionLocker)      {#if.NETFX_CORE        if (!shutdownWorkerThreads && (connectionKeepAliveWorker == null || connectionKeepAliveWorker.IsCompleted))        {          connectionKeepAliveWorker = new Task(ConnectionKeepAliveWorker, TaskCreationOptions.LongRunning);          connectionKeepAliveWorker.Start();        }#else        if (!shutdownWorkerThreads && (connectionKeepAliveWorker == null || connectionKeepAliveWorker.ThreadState == ThreadState.Stopped))        {          connectionKeepAliveWorker = new Thread(ConnectionKeepAliveWorker);          connectionKeepAliveWorker.Name = "ConnectionKeepAliveWorker";          connectionKeepAliveWorker.IsBackground = true;          connectionKeepAliveWorker.Start();        }#endif      }    }

原标题:介绍开源的.net通信框架NetworkComms框架之五 心跳检测

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。