c# c/s 之间如何做心跳检测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# c/s 之间如何做心跳检测相关的知识,希望对你有一定的参考价值。

是用一个timer么?

用SOCKET,然后再看具体网络情况,决定是C端还是S端发起心跳包。
一般会是C端开始工作后主动连接S端,连接成功后每过指定的时间发一个包,包的内容可以很简单,就一个0。而S端收到后再反一个包。这样就完成了心跳过程,如果在超出的时间没有接到客户端的心跳包,服务器则断开客户端连接,或者做其他操作
参考技术A 大哥,你在百度知道这么初级的地方问心跳检测?
去专业论坛吧,上MSDN查查看吧。

不过还是大致说说思路吧:
在服务端运行一个线程,这个线程用来判断用户列表中是否有超时用户,有的话就处理下,用户登录之后加入在线列表,客户端用AJAX或者你说的TIMER来隔固定时间像服务器发送请求,服务器接收请求并用本次请求时间覆盖上一次请求的时间。如果用户长时间未发送请求,比如5分钟。那服务器就可以判断用户离线。本回答被提问者采纳
参考技术B 什么意思啊 就是记吗

C# - 检测混淆器

【中文标题】C# - 检测混淆器【英文标题】:C# - Detect Obfuscator 【发布时间】:2017-10-28 17:49:57 【问题描述】:

直接问我的问题:我应该如何查看程序集的类。 (.exe, dll) 如果选择的程序包含类名,则写入控制台“Class”+Classfound+“found!”我正在做的是,我正在制作一个控制台应用程序,用于检测在选定的可执行文件/dll 文件上使用的混淆器。我花时间浏览互联网,了解如何反映一些课程等,但我什么也没找到。

感谢任何帮助,谢谢!

【问题讨论】:

【参考方案1】:

有很多方法可以检测混淆器 - 主要是项目中的 Entropy&Anomaly 或特定打包器的签名。

检查此(开源)以获取一些线索: https://github.com/0xd4d/de4dot

引用:

检测混淆器

Use the -d option to detect the obfuscator without deobfuscating any assembly.

Find all .NET assemblies and detect obfuscator. If it's an unsupported obfuscator or if it's not obfuscated, it will print "Unknown obfuscator".

de4dot -d -r c:\input
Same as above except that it will only show which files have been obfuscated by a supported obfuscator.

de4dot -d -r c:\input -ru
Detect obfuscator

de4dot -d file1.dll file2.dll file3.dll

【讨论】:

以上是关于c# c/s 之间如何做心跳检测的主要内容,如果未能解决你的问题,请参考以下文章

heartbeat心跳检测和裂脑

WebSocket 心跳检测和重连机制

Netty进阶 -- 非阻塞网络编程 实现群聊+私聊+心跳检测系统

Nacos源码之服务端AP架构集群节点的心跳检测

JAVA实现心跳检测长连接

Netty网络编程实战4,使用Netty实现心跳检测机制