--- experimental/host/vb_net_test/nettest.frm 2001/02/23 17:51:07 1.18 +++ experimental/host/vb_net_test/nettest.frm 2001/02/28 12:04:17 1.31 @@ -4,93 +4,86 @@ Object = "{33155A3D-0CE0-11D1-A6B4-444553540000}#1.0#0 Begin VB.Form Form1 BorderStyle = 3 'Fixed Dialog Caption = "i-scream Winhost" - ClientHeight = 5655 + ClientHeight = 1185 ClientLeft = 45 ClientTop = 330 ClientWidth = 4710 + Icon = "nettest.frx":0000 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False - ScaleHeight = 5655 + ScaleHeight = 1185 ScaleWidth = 4710 ShowInTaskbar = 0 'False - StartUpPosition = 3 'Windows Default - Begin VB.CommandButton Hide - Caption = "Hide Window" - Height = 375 - Left = 3120 - TabIndex = 7 + StartUpPosition = 2 'CenterScreen + Visible = 0 'False + Begin VB.CommandButton Command1 + Caption = "more" + Height = 255 + Left = 3960 + TabIndex = 8 Top = 840 - Width = 1455 + Width = 615 End + Begin VB.TextBox Text1 + Height = 2055 + Left = 120 + Locked = -1 'True + MultiLine = -1 'True + ScrollBars = 2 'Vertical + TabIndex = 7 + Top = 1200 + Width = 4455 + End + Begin VB.CommandButton Hide + Caption = "hide" + Height = 255 + Left = 3960 + TabIndex = 6 + Top = 480 + Width = 615 + End Begin SysTray.SystemTray SystemTray - Left = 2160 - Top = 1800 + Left = 2520 + Top = 4200 _ExtentX = 847 _ExtentY = 847 SysTrayText = "i-scream Winhost" IconFile = 0 End Begin VB.Timer Timer1 - Left = 2760 - Top = 1800 + Left = 3120 + Top = 4200 End - Begin VB.TextBox Text4 - Height = 1575 - Left = 240 - MultiLine = -1 'True - ScrollBars = 2 'Vertical - TabIndex = 1 - Text = "nettest.frx":0000 - Top = 3000 - Width = 3975 - End Begin VB.CommandButton Reconfigure Caption = "Reconfigure with FilterManager" Height = 375 - Left = 120 + Left = 840 TabIndex = 0 - Top = 840 + Top = 3480 Width = 2895 End Begin MSWinsockLib.Winsock TCPSock - Left = 3720 - Top = 1800 + Left = 4080 + Top = 4200 _ExtentX = 741 _ExtentY = 741 _Version = 393216 End Begin MSWinsockLib.Winsock UDPSock - Left = 3240 - Top = 1800 + Left = 3600 + Top = 4200 _ExtentX = 741 _ExtentY = 741 _Version = 393216 Protocol = 1 End - Begin VB.Label Label5 - Caption = "b e t a" - BeginProperty Font - Name = "MS Sans Serif" - Size = 24 - Charset = 0 - Weight = 700 - Underline = 0 'False - Italic = 0 'False - Strikethrough = 0 'False - EndProperty - Height = 615 - Left = 240 - TabIndex = 8 - Top = 120 - Width = 1815 - End Begin VB.Label Label2 Alignment = 1 'Right Justify Caption = "Next heartbeat:" Height = 255 - Left = 2400 - TabIndex = 6 + Left = 120 + TabIndex = 5 Top = 480 Width = 1455 End @@ -98,8 +91,8 @@ Begin VB.Form Form1 Alignment = 1 'Right Justify Caption = "Next UDP packet:" Height = 255 - Left = 2400 - TabIndex = 5 + Left = 120 + TabIndex = 4 Top = 120 Width = 1455 End @@ -107,8 +100,8 @@ Begin VB.Form Form1 BorderStyle = 1 'Fixed Single Caption = "0" Height = 255 - Left = 3960 - TabIndex = 4 + Left = 1680 + TabIndex = 3 Top = 480 Width = 615 End @@ -116,8 +109,8 @@ Begin VB.Form Form1 BorderStyle = 1 'Fixed Single Caption = "0" Height = 255 - Left = 3960 - TabIndex = 3 + Left = 1680 + TabIndex = 2 Top = 120 Width = 615 End @@ -126,9 +119,9 @@ Begin VB.Form Form1 Caption = "Status:" Height = 255 Left = 0 - TabIndex = 2 - Top = 1320 - Width = 4695 + TabIndex = 1 + Top = 840 + Width = 3855 End End Attribute VB_Name = "Form1" @@ -158,17 +151,48 @@ Dim TCPUpdateTime As Integer Dim protocolVersion As String Dim connected As Boolean -'Dim CUpTime As New CUpTime +Dim CUpTime As New CUpTime +Dim wksta As New CNetWksta +Dim windowBig As Boolean + Dim responseNumber As Integer +Private Sub Command1_Click() + + ' Toggle visibility of the debug output. + + If windowBig Then + Form1.Height = 1500 + windowBig = False + Else + Form1.Height = 4350 + windowBig = True + End If + +End Sub + Private Sub Form_Load() + If App.PrevInstance Then + x = MsgBox("There is already an i-scream Winhost running on this machine.", 48, "i-scream host already running") + End + End If + protocolVersion = "1.1" Status.Caption = "Loading" - 'Form1.Caption = "i-scream Winhost " & protocolVersion & " for " & GetVersion() + Form1.Caption = "i-scream Winhost " & protocolVersion + CUpTime.Init + + If CUpTime.isWin9x Then + x = MsgBox("Sorry, the i-scream host can only be used to monitor servers (i.e. not Win9x)", 48, "Not a server") + End + End If + + windowBig = False + ''''TEMP 'filterManagerHostname = "killigrew.ukc.ac.uk" 'filterManagerTCPPort = 4567 @@ -182,12 +206,16 @@ Private Sub Form_Load() filterManagerHostname = Left$(buf, length) length = GetPrivateProfileInt("i-scream Winhost", "FilterManagerPort", 0, App.Path & "/winhost.ini") filterManagerTCPPort = length + If filterManagerHostname = "" Then + GoTo iniError + End If + On Error GoTo 0 skip: Status.Caption = "Connecting to Filter Manager " & filterManagerHostname & ":" & filterManagerTCPPort Reconfigure_Click - Form1.Show + SystemTray.Icon = Val(Form1.Icon) SystemTray.Action = 0 @@ -214,6 +242,10 @@ Private Sub Hide_Click() SystemTray.Icon = Val(Form1.Icon) End Sub +Private Sub Image1_Click() + +End Sub + Private Sub Reconfigure_Click() ' establish a TCP connection to a filtermanager connected = False @@ -227,7 +259,6 @@ Private Sub SystemTray_MouseDblClk(ByVal Button As Int Form1.Visible = True Form1.SetFocus - End Sub @@ -256,7 +287,6 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo ' Remove linefeeds and returns from the line. response = Replace(response, Chr(13), "") response = Replace(response, Chr(10), "") - Text4.Text = Text4.Text & vbCrLf & response If connected = False Then ' Perform TCP configuration (1.1) @@ -265,26 +295,40 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo Case 1: If Not response = "OK" Then GoTo configError TCPSock.SendData "LASTMODIFIED" & vbCrLf + Text1.Text = "Requesting configuration from FilterManager:- " & vbCrLf + Text1.Text = Text1.Text & response & vbCrLf Case 2: If response = "ERROR" Then GoTo configError lastModified = response + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData "FILELIST" & vbCrLf + ' New addition to the protocol. Case 3: If response = "ERROR" Then GoTo configError fileList = response - TCPSock.SendData "UDPUpdateTime" & vbCrLf + Text1.Text = Text1.Text & response & vbCrLf + TCPSock.SendData "FQDN" & vbCrLf Case 4: If response = "ERROR" Then GoTo configError + Text1.Text = Text1.Text & response & vbCrLf + machineName = response + TCPSock.SendData "UDPUpdateTime" & vbCrLf + Case 5: + If response = "ERROR" Then GoTo configError UDPUpdateTime = response + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData "TCPUpdateTime" & vbCrLf - Case 5: + Case 6: If response = "ERROR" Then GoTo configError TCPUpdateTime = response + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData "ENDCONFIG" & vbCrLf - Case 6: + Case 7: If Not response = "OK" Then GoTo configError + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData "FILTER" & vbCrLf - Case 7: + Case 8: + Text1.Text = Text1.Text & response & vbCrLf 'we got a filter list here. readTo = 0 ' get hostname @@ -298,12 +342,13 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo ' get TCP Port number filterTCPPort = response TCPSock.SendData "END" & vbCrLf - Case 8: + Case 9: If Not response = "OK" Then GoTo configError connected = True responseNumber = 0 TCPSock.Close - Text4.Text = Text4.Text & vbCrLf & " " + Text1.Text = Text1.Text & response & vbCrLf + 'Text4.Text = Text4.Text & vbCrLf & " " Status.Caption = "Configuration successful" Label3.Caption = UDPUpdateTime Label4.Caption = TCPUpdateTime @@ -315,18 +360,24 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo Select Case responseNumber Case 1: If Not response = "OK" Then GoTo heartbeatError + Text1.Text = "Performing heartbeat: -" & vbCrLf + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData "CONFIG" & vbCrLf Case 2: If Not response = "OK" Then GoTo heartbeatError + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData fileList & vbCrLf Case 3: If Not response = "OK" Then GoTo heartbeatError + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData lastModified & vbCrLf Case 4: If Not response = "OK" Then GoTo heartbeatError + Text1.Text = Text1.Text & response & vbCrLf TCPSock.SendData "ENDHEARTBEAT" & vbCrLf Case 5: If Not response = "OK" Then GoTo heartbeatError + Text1.Text = Text1.Text & response & vbCrLf TCPSock.Close Status.Caption = "Heartbeat sent successfully." End Select @@ -355,7 +406,9 @@ Private Sub Timer1_Timer() ' prepare the contents of the XML packet. seqNo = seqNo + 1 - machineName = TCPSock.LocalHostName + + netbiosName = TCPSock.LocalHostName + LocalIP = TCPSock.LocalIP packetDate = Date2Num() @@ -368,7 +421,7 @@ Private Sub Timer1_Timer() End End If - osName = getVersion() + osName = GetVersion() osVersionMajor = verinfo.dwMajorVersion osVersionMinor = verinfo.dwMinorVersion osBuild = verinfo.dwBuildNumber @@ -394,28 +447,40 @@ Private Sub Timer1_Timer() Dim memory& GlobalMemoryStatus memsts memory& = memsts.dwTotalPhys - memTotal = memory& \ 1024 + memTotal = memory& \ 1048576 memory& = memsts.dwAvailPhys - memFree = memory& \ 1024 + memFree = memory& \ 1048576 memory& = memsts.dwTotalVirtual - swapTotal = memory& \ 1024 + swapTotal = memory& \ 1048576 memory& = memsts.dwAvailVirtual - swapFree = memory& \ 1024 + swapFree = memory& \ 1048576 + uptime = CUpTime.MilliSecs \ 1000 + + CUpTime.Capture + cpu_time = CUpTime.CPUTime + percent_idle = CUpTime.PercentIdle + + userCount = wksta.LoggedOnUsers + ' build the contents of the XML packet xml = "" & _ "" & _ + "" & netbiosName & "" & _ "" & osName & "" & _ "" & osVersionMajor & "" & _ "" & osBuild & "" & _ "" & osName & "" & _ "" & osVersionMinor & "" & _ "" & processorType & "" & _ + "" & uptime & "" & _ "" & _ + "" & userCount & "" & _ + "" & percent_idle & "" & cpu_time & "" & _ "" & memTotal & "" & memFree & "" & _ "" & swapTotal & "" & swapFree & "" & _ "" - Text4.Text = Text4.Text + xml + Text1.Text = "Last packet contained: -" & vbCrLf & xml ' Use the first winsock control to send a UDP packet. UDPSock.RemoteHost = filterHostname