主题:请教!用一台电脑监控另一台电脑怎么实现?
wmd
[专家分:200] 发布于 2007-08-03 22:13:00
两台电脑A和B,在B电脑上编写个程序,实现功能:如果A电脑死机自动重起(由于有密码,要人工输入)后,让程序进行声音报警,提醒工作人员A电脑自动重起.需要输入密码.
或 是否可以让A电脑自动报警?
请教各位大虾怎么实现这个功能,怎么编写报警程序.望能提示一二.
此谢!~~~~
最后更新于:2007-08-03 22:19:00
回复列表 (共11个回复)
沙发
yanxinggaotian [专家分:1140] 发布于 2007-08-04 07:21:00
死机后还能自动重启,不知道这个怎么实现。
3 楼
天天学习 [专家分:4570] 发布于 2007-08-04 14:09:00
1、死机后A机还会执行B机发给它的消息(命令)吗?
2、在A机重启过程中,在输入密码之前,在A机上你的控制程序已经和B机联上了吗?没联上的话,怎么控制?!
4 楼
wmd [专家分:200] 发布于 2007-08-04 14:25:00
[quote]1、死机后A机还会执行B机发给它的消息(命令)吗?
2、在A机重启过程中,在输入密码之前,在A机上你的控制程序已经和B机联上了吗?没联上的话,怎么控制?!
[/quote]
是不是有这么一个方法:可以让电脑B上的程序定时给电脑A 发个检测信号,如打开电脑A 上某个文件夹或文件等等,如果打不开几判断为电脑A 死机或是自动重起。现在不懂的是用什么语句来实现B电脑对A电脑的连接?应该涉及网络这块吧?望各位大虾指点一二。此谢
5 楼
yanxinggaotian [专家分:1140] 发布于 2007-08-04 15:52:00
楼主这个思路倒是可行,不过不太明白你为什么要这么做,看你的意思A机应该是比较重要的一台计算机,不管它运行什么程序,你不希望它退出运行。但是一般情况如果它比较重要,那就让它干自己该干的事,不要让它再做别的,这样的话死机情况相对要少。而且象这样死机的话,程序死掉的可能性更大些,系统也许没有死掉,你通过读取文件判断还是有问题的。
6 楼
wmd [专家分:200] 发布于 2007-08-05 15:33:00
[quote]楼主这个思路倒是可行,不过不太明白你为什么要这么做,看你的意思A机应该是比较重要的一台计算机,不管它运行什么程序,你不希望它退出运行。但是一般情况如果它比较重要,那就让它干自己该干的事,不要让它再做别的,这样的话死机情况相对要少。而且象这样死机的话,程序死掉的可能性更大些,系统也许没有死掉,你通过读取文件判断还是有问题的。[/quote]
不错,A机处理 数据比较重要,而且是一年365天24小时开机,所以就难免会出现死机的情况,但由于它独立,所以一般办公人员很难及时发现它死机,而影响数据的处理,所以才要对它监控,我也是没有更好的办法解决才要对它监控,请问连接两台机子有哪些语句,我对网络不熟悉.望各位大虾赐教!此谢
7 楼
yanxinggaotian [专家分:1140] 发布于 2007-08-05 23:49:00
在A机运行一个服务器端程序,向B机发送系统时间。
Private Sub Form_Load()
Winsock1.LocalPort = 6001
Winsock1.Listen
End Sub
Private Sub Timer1_Timer()
On Error GoTo errorhandler
If Label1.Caption = "true" Then
Winsock1.SendData Str(Time)
End If
Exit Sub
errorhandler:
Winsock1.Close
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
Label1.Caption = "true"
End Sub
在B机运行一个客户端程序,用于接收A机的时间,与本机时间进行对比,如不一致则认为死机。
Private Sub Form_Load()
Winsock1.RemotePort = 6001
Winsock1.RemoteHost = "192.168.1.10" 'A机的地址
Winsock1.Connect
End Sub
Private Sub Form_Unload(Cancel As Integer)
Winsock1.Close
End Sub
Private Sub winsock1_Close()
Winsock1.Close
End
End Sub
Private Sub winsock1_Connect()
Label1.Caption = "连接A机成功"
End Sub
Private Sub winsock1_DataArrival(ByVal bytesTotal As Long)
Dim tmpstr As String
Winsock1.GetData tmpstr
Text1.Text = tmpstr
'此处tmpstr接收A机发来的系统时间,然后判断与B机的时间差,如果大于某个设定值,则认为A死机,报警。
End Sub
8 楼
wmd [专家分:200] 发布于 2007-08-06 13:50:00
高!~实在高~
比我的简单多了!
谢谢7楼!~谢谢各位大虾
9 楼
香脆饼干 [专家分:2040] 发布于 2007-08-06 15:05:00
确实不错,思路相当新颖
10 楼
z315182648 [专家分:0] 发布于 2008-09-10 16:22:00
谁能帮帮我 我想实现 一台电脑监视另一台电脑做的事情!(就是监视另一台电脑的桌面)谁能帮帮我求求你们了帮帮我!愿意帮我的请加我QQ315182648 问题答案!“月月” 谢谢各位!
我来回复