数据包拦截器(.net)
我有一些软件,如果程序中的活动处于空闲状态,它会自动断开与主服务器的连接。据我所知,我需要截获一些心跳数据包或其他东西,然后每隔几秒钟复制并发送一次。我需要把它变成一个完全独立的程序(我必须把它交给办公室里的其他人,像WireShark这样的东西解决不了我的问题) 我们正试图通过程序运行大型进程,但是,除非我们一直在程序中运行,否则即使程序正在运行某些东西,它也会断开连接 我使用的是.net,特别是VB.net(我大部分时间都可以转换c)数据包拦截器(.net),.net,vb.net,packet,heartbeat,.net,Vb.net,Packet,Heartbeat,我有一些软件,如果程序中的活动处于空闲状态,它会自动断开与主服务器的连接。据我所知,我需要截获一些心跳数据包或其他东西,然后每隔几秒钟复制并发送一次。我需要把它变成一个完全独立的程序(我必须把它交给办公室里的其他人,像WireShark这样的东西解决不了我的问题) 我们正试图通过程序运行大型进程,但是,除非我们一直在程序中运行,否则即使程序正在运行某些东西,它也会断开连接 我使用的是.net,特别是VB.net(我大部分时间都可以转换c) 如果可以的话,谢谢你 您能否在建立连接后立即运行后台线程
如果可以的话,谢谢你 您能否在建立连接后立即运行后台线程,并每隔一段时间ping一次服务器以防止断开连接?像这样的事情(C#): 或者,如果ping不起作用,则不管空数据包的等效值是什么
顺便说一下,即使它可以编译,也不要在生产代码中使用它,这只是一个示例。这是url ping,不是吗?我认为,心跳或程序使用的任何东西都在包中。我需要捕获一个来了解它是什么,然后再将它发送回去。对吗?
class KeepAlive
{
public void KeepAliveAsync()
{
Thread thread = new Thread(DoPing);
thread.Start();
}
private void DoPing()
{
Ping ping= new Ping ();
PingReply reply = ping.Send ("www.example.com");
if(reply.Status != IPStatus.Success)
{
// lost connection
}
}
}