ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/winhost/nettest.frm
(Generate patch)

Comparing projects/cms/source/host/winhost/nettest.frm (file contents):
Revision 1.13 by pjm2, Fri Feb 23 13:23:53 2001 UTC vs.
Revision 1.31 by pjm2, Wed Feb 28 12:04:17 2001 UTC

# Line 2 | Line 2 | VERSION 5.00
2   Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
3   Object = "{33155A3D-0CE0-11D1-A6B4-444553540000}#1.0#0"; "SysTray.ocx"
4   Begin VB.Form Form1
5 <   BorderStyle     =   4  'Fixed ToolWindow
5 >   BorderStyle     =   3  'Fixed Dialog
6     Caption         =   "i-scream Winhost"
7 <   ClientHeight    =   5655
7 >   ClientHeight    =   1185
8     ClientLeft      =   45
9 <   ClientTop       =   285
9 >   ClientTop       =   330
10     ClientWidth     =   4710
11 +   Icon            =   "nettest.frx":0000
12     LinkTopic       =   "Form1"
13     MaxButton       =   0   'False
14 <   ScaleHeight     =   5655
14 >   MinButton       =   0   'False
15 >   ScaleHeight     =   1185
16     ScaleWidth      =   4710
17     ShowInTaskbar   =   0   'False
18 <   StartUpPosition =   3  'Windows Default
19 <   Begin VB.CommandButton Hide
20 <      Caption         =   "Hide Window"
21 <      Height          =   375
22 <      Left            =   3120
23 <      TabIndex        =   7
18 >   StartUpPosition =   2  'CenterScreen
19 >   Visible         =   0   'False
20 >   Begin VB.CommandButton Command1
21 >      Caption         =   "more"
22 >      Height          =   255
23 >      Left            =   3960
24 >      TabIndex        =   8
25        Top             =   840
26 <      Width           =   1455
26 >      Width           =   615
27     End
28 +   Begin VB.TextBox Text1
29 +      Height          =   2055
30 +      Left            =   120
31 +      Locked          =   -1  'True
32 +      MultiLine       =   -1  'True
33 +      ScrollBars      =   2  'Vertical
34 +      TabIndex        =   7
35 +      Top             =   1200
36 +      Width           =   4455
37 +   End
38 +   Begin VB.CommandButton Hide
39 +      Caption         =   "hide"
40 +      Height          =   255
41 +      Left            =   3960
42 +      TabIndex        =   6
43 +      Top             =   480
44 +      Width           =   615
45 +   End
46     Begin SysTray.SystemTray SystemTray
47 <      Left            =   2160
48 <      Top             =   1800
47 >      Left            =   2520
48 >      Top             =   4200
49        _ExtentX        =   847
50        _ExtentY        =   847
51        SysTrayText     =   "i-scream Winhost"
52        IconFile        =   0
53     End
54     Begin VB.Timer Timer1
55 <      Left            =   2760
56 <      Top             =   1800
55 >      Left            =   3120
56 >      Top             =   4200
57     End
37   Begin VB.TextBox Text4
38      Height          =   1575
39      Left            =   240
40      MultiLine       =   -1  'True
41      ScrollBars      =   2  'Vertical
42      TabIndex        =   1
43      Text            =   "nettest.frx":0000
44      Top             =   3000
45      Width           =   3975
46   End
58     Begin VB.CommandButton Reconfigure
59        Caption         =   "Reconfigure with FilterManager"
60        Height          =   375
61 <      Left            =   120
61 >      Left            =   840
62        TabIndex        =   0
63 <      Top             =   840
63 >      Top             =   3480
64        Width           =   2895
65     End
66     Begin MSWinsockLib.Winsock TCPSock
67 <      Left            =   3720
68 <      Top             =   1800
67 >      Left            =   4080
68 >      Top             =   4200
69        _ExtentX        =   741
70        _ExtentY        =   741
71        _Version        =   393216
72     End
73     Begin MSWinsockLib.Winsock UDPSock
74 <      Left            =   3240
75 <      Top             =   1800
74 >      Left            =   3600
75 >      Top             =   4200
76        _ExtentX        =   741
77        _ExtentY        =   741
78        _Version        =   393216
# Line 71 | Line 82 | Begin VB.Form Form1
82        Alignment       =   1  'Right Justify
83        Caption         =   "Next heartbeat:"
84        Height          =   255
85 <      Left            =   2400
86 <      TabIndex        =   6
85 >      Left            =   120
86 >      TabIndex        =   5
87        Top             =   480
88        Width           =   1455
89     End
# Line 80 | Line 91 | Begin VB.Form Form1
91        Alignment       =   1  'Right Justify
92        Caption         =   "Next UDP packet:"
93        Height          =   255
94 <      Left            =   2400
95 <      TabIndex        =   5
94 >      Left            =   120
95 >      TabIndex        =   4
96        Top             =   120
97        Width           =   1455
98     End
# Line 89 | Line 100 | Begin VB.Form Form1
100        BorderStyle     =   1  'Fixed Single
101        Caption         =   "0"
102        Height          =   255
103 <      Left            =   3960
104 <      TabIndex        =   4
103 >      Left            =   1680
104 >      TabIndex        =   3
105        Top             =   480
106        Width           =   615
107     End
# Line 98 | Line 109 | Begin VB.Form Form1
109        BorderStyle     =   1  'Fixed Single
110        Caption         =   "0"
111        Height          =   255
112 <      Left            =   3960
113 <      TabIndex        =   3
112 >      Left            =   1680
113 >      TabIndex        =   2
114        Top             =   120
115        Width           =   615
116     End
# Line 107 | Line 118 | Begin VB.Form Form1
118        Alignment       =   2  'Center
119        Caption         =   "Status:"
120        Height          =   255
121 <      Left            =   120
122 <      TabIndex        =   2
123 <      Top             =   1320
124 <      Width           =   4455
121 >      Left            =   0
122 >      TabIndex        =   1
123 >      Top             =   840
124 >      Width           =   3855
125     End
126   End
127   Attribute VB_Name = "Form1"
# Line 118 | Line 129 | Attribute VB_GlobalNameSpace = False
129   Attribute VB_Creatable = False
130   Attribute VB_PredeclaredId = True
131   Attribute VB_Exposed = False
132 + ' For the system tray bits
133   Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
134   Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
135  
136   Dim filterManagerHostname As String
137 < Dim filterManagerTCPPort As Integer
137 > Dim filterManagerTCPPort As Long
138  
139   Dim seqNo As Long
140   Dim machineName As String
# Line 138 | Line 150 | Dim TCPUpdateTime As Integer
150  
151   Dim protocolVersion As String
152   Dim connected As Boolean
153 +
154 + Dim CUpTime As New CUpTime
155 + Dim wksta As New CNetWksta
156 +
157 + Dim windowBig As Boolean
158 +
159   Dim responseNumber As Integer
160  
161 + Private Sub Command1_Click()
162 +
163 +    ' Toggle visibility of the debug output.
164 +
165 +    If windowBig Then
166 +        Form1.Height = 1500
167 +        windowBig = False
168 +    Else
169 +        Form1.Height = 4350
170 +        windowBig = True
171 +    End If
172 +
173 + End Sub
174 +
175   Private Sub Form_Load()
144    x = MsgBox(Date2Num())
176      
177 +    If App.PrevInstance Then
178 +        x = MsgBox("There is already an i-scream Winhost running on this machine.", 48, "i-scream host already running")
179 +        End
180 +    End If
181 +    
182      protocolVersion = "1.1"
183      
184      Status.Caption = "Loading"
185      Form1.Caption = "i-scream Winhost " & protocolVersion
186      
187 +    CUpTime.Init
188 +    
189 +    If CUpTime.isWin9x Then
190 +        x = MsgBox("Sorry, the i-scream host can only be used to monitor servers (i.e. not Win9x)", 48, "Not a server")
191 +        End
192 +    End If
193 +    
194 +    windowBig = False
195 +    
196      ''''TEMP
197 <    filterManagerHostname = "killigrew.ukc.ac.uk"
198 <    filterManagerTCPPort = 4567
197 >    'filterManagerHostname = "killigrew.ukc.ac.uk"
198 >    'filterManagerTCPPort = 4567
199      ''''' END TEMP
200      
201 <    GoTo skip
201 >    'GoTo skip
202      On Error GoTo iniError
203      Dim buf As String * 256
204      Dim length As Long
205 <    length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
205 >    length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "<no value>", buf, Len(buf), App.Path & "/winhost.ini")
206      filterManagerHostname = Left$(buf, length)
207 <    length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
208 <    filterManagerTCPPort = Left$(buf, length)
207 >    length = GetPrivateProfileInt("i-scream Winhost", "FilterManagerPort", 0, App.Path & "/winhost.ini")
208 >    filterManagerTCPPort = length
209 >    If filterManagerHostname = "" Then
210 >        GoTo iniError
211 >    End If
212 >    On Error GoTo 0
213   skip:
214  
215 <    Status.Caption = "Connecting to Filter Manager"
215 >    Status.Caption = "Connecting to Filter Manager " & filterManagerHostname & ":" & filterManagerTCPPort
216      Reconfigure_Click
217      
218 +    SystemTray.Icon = Val(Form1.Icon)
219 +    SystemTray.Action = 0
220 +    
221 +    
222      Exit Sub
223      
224   iniError:
225 <    x = MsgBox("The i-scream Winhost could not read the correct settings from the winhost.ini file.  Please correct these and try again.", 48, "Configuration not found")
225 >    x = MsgBox("The i-scream Winhost could not read the correct settings from the winhost.ini file.  Please correct these and try again.  " & Err.Description, 48, "Configuration not found")
226      End
227      
228   End Sub
# Line 178 | Line 231 | Private Sub Form_QueryUnload(Cancel As Integer, Unload
231      x = MsgBox("Are you sure you want to shut down the Winhost?  This will stop your computer sending information to the i-scream Central Monitoring System.", vbYesNo, "i-scream Winhost")
232      If x = 7 Then
233          Cancel = True
234 +    Else
235 +        SystemTray.Action = 2
236      End If
182    SystemTray.Action = 2
237  
238   End Sub
239  
240   Private Sub Hide_Click()
241      Form1.Visible = False
242      SystemTray.Icon = Val(Form1.Icon)
189    SystemTray.Action = 0
243   End Sub
244  
245 + Private Sub Image1_Click()
246 +
247 + End Sub
248 +
249   Private Sub Reconfigure_Click()
250      ' establish a TCP connection to a filtermanager
251      connected = False
# Line 201 | Line 258 | End Sub
258   Private Sub SystemTray_MouseDblClk(ByVal Button As Integer)
259  
260      Form1.Visible = True
204    SystemTray.Action = 2
261      Form1.SetFocus
206    
262  
263   End Sub
264  
# Line 232 | Line 287 | Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
287      ' Remove linefeeds and returns from the line.
288      response = Replace(response, Chr(13), "")
289      response = Replace(response, Chr(10), "")
235    Text4.Text = Text4.Text & vbCrLf & response
290      
291      If connected = False Then
292          ' Perform TCP configuration (1.1)
# Line 241 | Line 295 | Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
295              Case 1:
296                  If Not response = "OK" Then GoTo configError
297                  TCPSock.SendData "LASTMODIFIED" & vbCrLf
298 +                Text1.Text = "Requesting configuration from FilterManager:- " & vbCrLf
299 +                Text1.Text = Text1.Text & response & vbCrLf
300              Case 2:
301                  If response = "ERROR" Then GoTo configError
302                  lastModified = response
303 +                Text1.Text = Text1.Text & response & vbCrLf
304                  TCPSock.SendData "FILELIST" & vbCrLf
305 +            ' New addition to the protocol.
306              Case 3:
307                  If response = "ERROR" Then GoTo configError
308                  fileList = response
309 <                TCPSock.SendData "UDPUpdateTime" & vbCrLf
309 >                Text1.Text = Text1.Text & response & vbCrLf
310 >                TCPSock.SendData "FQDN" & vbCrLf
311              Case 4:
312                  If response = "ERROR" Then GoTo configError
313 +                Text1.Text = Text1.Text & response & vbCrLf
314 +                machineName = response
315 +                TCPSock.SendData "UDPUpdateTime" & vbCrLf
316 +            Case 5:
317 +                If response = "ERROR" Then GoTo configError
318                  UDPUpdateTime = response
319 +                Text1.Text = Text1.Text & response & vbCrLf
320                  TCPSock.SendData "TCPUpdateTime" & vbCrLf
321 <            Case 5:
321 >            Case 6:
322                  If response = "ERROR" Then GoTo configError
323                  TCPUpdateTime = response
324 +                Text1.Text = Text1.Text & response & vbCrLf
325                  TCPSock.SendData "ENDCONFIG" & vbCrLf
326 <            Case 6:
326 >            Case 7:
327                  If Not response = "OK" Then GoTo configError
328 +                Text1.Text = Text1.Text & response & vbCrLf
329                  TCPSock.SendData "FILTER" & vbCrLf
330 <            Case 7:
330 >            Case 8:
331 >                Text1.Text = Text1.Text & response & vbCrLf
332                  'we got a filter list here.
333                  readTo = 0
334                  ' get hostname
# Line 274 | Line 342 | Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
342                  ' get TCP Port number
343                  filterTCPPort = response
344                  TCPSock.SendData "END" & vbCrLf
345 <            Case 8:
345 >            Case 9:
346                  If Not response = "OK" Then GoTo configError
347                  connected = True
348                  responseNumber = 0
349                  TCPSock.Close
350 <                Text4.Text = Text4.Text & vbCrLf & "  <closed>"
350 >                Text1.Text = Text1.Text & response & vbCrLf
351 >                'Text4.Text = Text4.Text & vbCrLf & "  <closed>"
352                  Status.Caption = "Configuration successful"
353                  Label3.Caption = UDPUpdateTime
354                  Label4.Caption = TCPUpdateTime
# Line 291 | Line 360 | Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
360          Select Case responseNumber
361              Case 1:
362                  If Not response = "OK" Then GoTo heartbeatError
363 +                Text1.Text = "Performing heartbeat: -" & vbCrLf
364 +                Text1.Text = Text1.Text & response & vbCrLf
365                  TCPSock.SendData "CONFIG" & vbCrLf
366              Case 2:
367                  If Not response = "OK" Then GoTo heartbeatError
368 +                Text1.Text = Text1.Text & response & vbCrLf
369                  TCPSock.SendData fileList & vbCrLf
370              Case 3:
371                  If Not response = "OK" Then GoTo heartbeatError
372 +                Text1.Text = Text1.Text & response & vbCrLf
373                  TCPSock.SendData lastModified & vbCrLf
374              Case 4:
375                  If Not response = "OK" Then GoTo heartbeatError
376 +                Text1.Text = Text1.Text & response & vbCrLf
377                  TCPSock.SendData "ENDHEARTBEAT" & vbCrLf
378              Case 5:
379                  If Not response = "OK" Then GoTo heartbeatError
380 +                Text1.Text = Text1.Text & response & vbCrLf
381                  TCPSock.Close
382                  Status.Caption = "Heartbeat sent successfully."
383          End Select
# Line 328 | Line 403 | Private Sub Timer1_Timer()
403      Status.Caption = ""
404      
405      If Label3.Caption < 1 Then
406 <        ' build the contents of the XML packet.
407 <        localIP = TCPSock.localIP
333 <        machineName = TCPSock.LocalHostName
406 >        
407 >        ' prepare the contents of the XML packet.
408          seqNo = seqNo + 1
409 <        packetDate = Now()
410 <        xml = "<packet seq_no=""" & seqNo & """ machine_name=""" & machineName & """ date=""" & packetDate & """ type=""data"" ip=""" & localIP & """>" & _
411 <              "" & _
412 <              "" & _
413 <              "" & _
414 <              "" & _
415 <              "" & _
416 <              "" & _
417 <              "" & _
418 <              "" & _
419 <              "" & _
420 <              "" & _
421 <              "" & _
422 <              "" & _
423 <              "" & _
424 <              "" & _
425 <              ""
426 <        Text4.Text = Text4.Text + xml
409 >        
410 >        netbiosName = TCPSock.LocalHostName
411 >        
412 >        LocalIP = TCPSock.LocalIP
413 >        packetDate = Date2Num()
414 >        
415 >        
416 >        Dim verinfo As OSVERSIONINFO
417 >        verinfo.dwOSVersionInfoSize = Len(verinfo)
418 >        ret% = GetVersionEx(verinfo)
419 >        If ret% = 0 Then
420 >            MsgBox "Error getting Windows version Information"
421 >            End
422 >        End If
423 >          
424 >        osName = GetVersion()
425 >        osVersionMajor = verinfo.dwMajorVersion
426 >        osVersionMinor = verinfo.dwMinorVersion
427 >        osBuild = verinfo.dwBuildNumber
428 >        
429 >        Dim sysinfo As SYSTEM_INFO
430 >        GetSystemInfo sysinfo
431 >        Select Case sysinfo.dwProcessorType
432 >            Case PROCESSOR_INTEL_386
433 >                processorType = "Intel 386"
434 >            Case PROCESSOR_INTEL_486
435 >                processorType = "Intel 486"
436 >            Case PROCESSOR_INTEL_PENTIUM
437 >                processorType = "Intel Pentium variant"
438 >            Case PROCESSOR_MIPS_R4000
439 >                processorType = "MIPS R4000"
440 >            Case PROCESSOR_ALPHA_21064
441 >                processorType = "DEC Alpha 21064"
442 >            Case Else
443 >                processorType = "(unknown)"
444 >        End Select
445 >        
446 >        Dim memsts As MEMORYSTATUS
447 >        Dim memory&
448 >        GlobalMemoryStatus memsts
449 >        memory& = memsts.dwTotalPhys
450 >        memTotal = memory& \ 1048576
451 >        memory& = memsts.dwAvailPhys
452 >        memFree = memory& \ 1048576
453 >        memory& = memsts.dwTotalVirtual
454 >        swapTotal = memory& \ 1048576
455 >        memory& = memsts.dwAvailVirtual
456 >        swapFree = memory& \ 1048576
457 >        
458 >        uptime = CUpTime.MilliSecs \ 1000
459 >        
460 >        CUpTime.Capture
461 >        cpu_time = CUpTime.CPUTime
462 >        percent_idle = CUpTime.PercentIdle
463 >        
464 >        userCount = wksta.LoggedOnUsers
465 >        
466 >        ' build the contents of the XML packet
467 >        xml = "<packet seq_no=""" & seqNo & """ machine_name=""" & machineName & """ date=""" & packetDate & """ type=""data"" ip=""" & LocalIP & """>" & _
468 >              "<os>" & _
469 >                "<netbios_name>" & netbiosName & "</netbios_name>" & _
470 >                "<name>" & osName & "</name>" & _
471 >                "<version>" & osVersionMajor & "</version>" & _
472 >                "<release>" & osBuild & "</release>" & _
473 >                "<platform>" & osName & "</platform>" & _
474 >                "<minor_version>" & osVersionMinor & "</minor_version>" & _
475 >                "<processor>" & processorType & "</processor>" & _
476 >                "<uptime>" & uptime & "</uptime>" & _
477 >              "</os>" & _
478 >              "<users><count>" & userCount & "</count></users>" & _
479 >              "<cpu><idle>" & percent_idle & "</idle><user>" & cpu_time & "</user></cpu>" & _
480 >              "<memory><total>" & memTotal & "</total><free>" & memFree & "</free></memory>" & _
481 >              "<swap><total>" & swapTotal & "</total><free>" & swapFree & "</free></swap>" & _
482 >              "</packet>"
483 >        Text1.Text = "Last packet contained: -" & vbCrLf & xml
484  
485          ' Use the first winsock control to send a UDP packet.
486          UDPSock.RemoteHost = filterHostname
# Line 369 | Line 500 | Private Sub Timer1_Timer()
500   End Sub
501  
502   Function Date2Num() As Long
503 <    Date2Num = DateDiff("s", "1-1-1970", Now)
503 >    Dim x As Long
504 >    x = DateDiff("s", "1-1-1970", Now)
505 >    Date2Num = x
506   End Function

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines