新手。当服务器面临网络问题(无网络)时,我需要处理该行为。有没有信号处理程序可以处理这个?我很确定没有这样的事。但是,它可以配置吗?
如果不是,我计划在同一系统上的两台服务器之间使用ping机制。
serverA的架构(中央服务器,有所有注册服务器的列表),为了简单起见,只使用一个额外的服务器
#----header files
main()
{
--serverconfig details
while(1)
--server_run()
}
同样,注册到服务器A的服务器B也具有相同的体系结构。现在,为了应对网络故障场景,我计划使用一个多线程中央服务器(a)。并在serverB的while(1)循环中插入一个ping函数
我很困惑,如果服务器A没有收到服务器b的任何ping,如何结束程序
服务器
--headerfiles
main(){
--serverconfig
Thread1withreceivePing()
while(1){
--server_run()
}
}
服务器B
--headerfiles
main(){
--serverconfig
while(1){
Thread1withSendPing()
--server_run()
}
}
ServerA程序可以在每2分钟没有收到ping信号时终止吗?请让我知道。
ServerA程序在每2分钟没有收到ping信号时可以终止吗?
答案是肯定的。所有线程共享一组全局变量(具有静态存储的变量)。这意味着线程可以更改全局变量的值,而主线程只需要定期检查它。
或者,线程可以调用exit函数。但这看起来像一个中止过程,因为其他线程可能在不安全的情况下被强制中断。