--- projects/cms/source/host/winhost/nettest.frm 2001/02/23 10:34:47 1.5
+++ projects/cms/source/host/winhost/nettest.frm 2001/02/23 13:23:53 1.13
@@ -1,84 +1,117 @@
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
+Object = "{33155A3D-0CE0-11D1-A6B4-444553540000}#1.0#0"; "SysTray.ocx"
Begin VB.Form Form1
- BorderStyle = 3 'Fixed Dialog
- Caption = "TCP/UDP Test program"
+ BorderStyle = 4 'Fixed ToolWindow
+ Caption = "i-scream Winhost"
ClientHeight = 5655
ClientLeft = 45
- ClientTop = 330
- ClientWidth = 5670
+ ClientTop = 285
+ ClientWidth = 4710
LinkTopic = "Form1"
MaxButton = 0 'False
- MinButton = 0 'False
ScaleHeight = 5655
- ScaleWidth = 5670
+ ScaleWidth = 4710
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
- Begin VB.CommandButton Command3
- Caption = "TCP to Filter"
+ Begin VB.CommandButton Hide
+ Caption = "Hide Window"
Height = 375
- Left = 3720
- TabIndex = 5
- Top = 2520
- Width = 1575
+ Left = 3120
+ TabIndex = 7
+ Top = 840
+ Width = 1455
End
+ Begin SysTray.SystemTray SystemTray
+ Left = 2160
+ Top = 1800
+ _ExtentX = 847
+ _ExtentY = 847
+ SysTrayText = "i-scream Winhost"
+ IconFile = 0
+ End
+ Begin VB.Timer Timer1
+ Left = 2760
+ Top = 1800
+ End
Begin VB.TextBox Text4
- Height = 2535
+ Height = 1575
Left = 240
MultiLine = -1 'True
ScrollBars = 2 'Vertical
- TabIndex = 4
+ TabIndex = 1
Text = "nettest.frx":0000
Top = 3000
- Width = 5055
+ Width = 3975
End
- Begin VB.CommandButton Command2
- Caption = "TCP to FilterManager"
+ Begin VB.CommandButton Reconfigure
+ Caption = "Reconfigure with FilterManager"
Height = 375
- Left = 3360
- TabIndex = 3
- Top = 2040
- Width = 1935
+ Left = 120
+ TabIndex = 0
+ Top = 840
+ Width = 2895
End
Begin MSWinsockLib.Winsock TCPSock
- Left = 4920
- Top = 120
+ Left = 3720
+ Top = 1800
_ExtentX = 741
_ExtentY = 741
_Version = 393216
End
- Begin VB.CommandButton Command1
- Caption = "Send UDP"
- Height = 375
- Left = 4320
- TabIndex = 2
- Top = 1560
- Width = 975
- End
- Begin VB.TextBox Text1
- Height = 855
- Left = 360
- TabIndex = 0
- Text = ""
- Top = 600
- Width = 4935
- End
Begin MSWinsockLib.Winsock UDPSock
- Left = 4320
- Top = 120
+ Left = 3240
+ Top = 1800
_ExtentX = 741
_ExtentY = 741
_Version = 393216
Protocol = 1
End
+ Begin VB.Label Label2
+ Alignment = 1 'Right Justify
+ Caption = "Next heartbeat:"
+ Height = 255
+ Left = 2400
+ TabIndex = 6
+ Top = 480
+ Width = 1455
+ End
Begin VB.Label Label1
- Caption = "Packet contents"
+ Alignment = 1 'Right Justify
+ Caption = "Next UDP packet:"
Height = 255
- Left = 360
- TabIndex = 1
- Top = 360
- Width = 2895
+ Left = 2400
+ TabIndex = 5
+ Top = 120
+ Width = 1455
End
+ Begin VB.Label Label4
+ BorderStyle = 1 'Fixed Single
+ Caption = "0"
+ Height = 255
+ Left = 3960
+ TabIndex = 4
+ Top = 480
+ Width = 615
+ End
+ Begin VB.Label Label3
+ BorderStyle = 1 'Fixed Single
+ Caption = "0"
+ Height = 255
+ Left = 3960
+ TabIndex = 3
+ Top = 120
+ Width = 615
+ End
+ Begin VB.Label Status
+ Alignment = 2 'Center
+ Caption = "Status:"
+ Height = 255
+ Left = 120
+ TabIndex = 2
+ Top = 1320
+ Width = 4455
+ End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
@@ -91,52 +124,36 @@ Private Declare Function GetPrivateProfileInt Lib "ker
Dim filterManagerHostname As String
Dim filterManagerTCPPort As Integer
+Dim seqNo As Long
+Dim machineName As String
+
Dim filterHostname As String
Dim filterTCPPort As Integer
Dim filterUDPPort As Integer
Dim fileList As String
Dim lastModified As String
+Dim UDPUpdateTime As Integer
+Dim TCPUpdateTime As Integer
+
Dim protocolVersion As String
Dim connected As Boolean
Dim responseNumber As Integer
-
-Private Sub Command1_Click()
-
- ' build the contents of the XML packet.
- xml = ""
-
- ' Use the first winsock control to send a UDP packet.
- UDPSock.RemoteHost = filterHostname
- UDPSock.RemotePort = filterUDPPort
- UDPSock.SendData xml
-
-End Sub
-
-Private Sub Command2_Click()
-
- ' establish a TCP connection to a filtermanager
- TCPSock.Close
- TCPSock.Connect filterManagerHostname, filterManagerTCPPort
-
-End Sub
-
-Private Sub Command3_Click()
- ' establish a TCP connection to a filter
- TCPSock.Close
- TCPSock.Connect filterHostname, filterTCPPort
-End Sub
-
Private Sub Form_Load()
+ x = MsgBox(Date2Num())
+
protocolVersion = "1.1"
+ Status.Caption = "Loading"
+ Form1.Caption = "i-scream Winhost " & protocolVersion
+
''''TEMP
filterManagerHostname = "killigrew.ukc.ac.uk"
filterManagerTCPPort = 4567
- Exit Sub
- ''' ENDTEMP
+ ''''' END TEMP
+ GoTo skip
On Error GoTo iniError
Dim buf As String * 256
Dim length As Long
@@ -144,6 +161,10 @@ Private Sub Form_Load()
filterManagerHostname = Left$(buf, length)
length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "", buf, Len(buf), App.Path & "winhost.ini")
filterManagerTCPPort = Left$(buf, length)
+skip:
+
+ Status.Caption = "Connecting to Filter Manager"
+ Reconfigure_Click
Exit Sub
@@ -153,9 +174,42 @@ iniError:
End Sub
+Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
+ 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")
+ If x = 7 Then
+ Cancel = True
+ End If
+ SystemTray.Action = 2
+
+End Sub
+
+Private Sub Hide_Click()
+ Form1.Visible = False
+ SystemTray.Icon = Val(Form1.Icon)
+ SystemTray.Action = 0
+End Sub
+
+Private Sub Reconfigure_Click()
+ ' establish a TCP connection to a filtermanager
+ connected = False
+ TCPSock.Close
+ TCPSock.Connect filterManagerHostname, filterManagerTCPPort
+End Sub
+
+
+
+Private Sub SystemTray_MouseDblClk(ByVal Button As Integer)
+
+ Form1.Visible = True
+ SystemTray.Action = 2
+ Form1.SetFocus
+
+
+End Sub
+
Private Sub TCPSock_Connect()
-
- responseNumber = 0
+
+ responseNumber = 0
' Send something as soon as we connect to the server.
If connected = False Then
@@ -197,9 +251,11 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
TCPSock.SendData "UDPUpdateTime" & vbCrLf
Case 4:
If response = "ERROR" Then GoTo configError
+ UDPUpdateTime = response
TCPSock.SendData "TCPUpdateTime" & vbCrLf
Case 5:
If response = "ERROR" Then GoTo configError
+ TCPUpdateTime = response
TCPSock.SendData "ENDCONFIG" & vbCrLf
Case 6:
If Not response = "OK" Then GoTo configError
@@ -224,7 +280,10 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
responseNumber = 0
TCPSock.Close
Text4.Text = Text4.Text & vbCrLf & " "
- x = MsgBox("got config okay")
+ Status.Caption = "Configuration successful"
+ Label3.Caption = UDPUpdateTime
+ Label4.Caption = TCPUpdateTime
+ Timer1.Interval = 1000
End Select
Else
' Perform a heartbeat (1.1)
@@ -245,7 +304,7 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
Case 5:
If Not response = "OK" Then GoTo heartbeatError
TCPSock.Close
- x = MsgBox("heartbeat sent okay.")
+ Status.Caption = "Heartbeat sent successfully."
End Select
End If
@@ -254,8 +313,61 @@ Private Sub TCPSock_DataArrival(ByVal bytesTotal As Lo
Exit Sub
configError:
- x = MsgBox("error doing configuration")
+ Status.Caption = "FAILED to get configuration"
+ Exit Sub
heartbeatError:
- x = MsgBox("error doing configuration")
+ Status.Caption = "Heatbeat FAILED"
+ Exit Sub
End Sub
+Private Sub Timer1_Timer()
+
+ Label3.Caption = Label3.Caption - 1
+ Label4.Caption = Label4.Caption - 1
+
+ Status.Caption = ""
+
+ If Label3.Caption < 1 Then
+ ' build the contents of the XML packet.
+ localIP = TCPSock.localIP
+ machineName = TCPSock.LocalHostName
+ seqNo = seqNo + 1
+ packetDate = Now()
+ xml = "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ "" & _
+ ""
+ Text4.Text = Text4.Text + xml
+
+ ' Use the first winsock control to send a UDP packet.
+ UDPSock.RemoteHost = filterHostname
+ UDPSock.RemotePort = filterUDPPort
+ UDPSock.SendData xml
+ Status.Caption = "UDP packet sent"
+ Label3.Caption = UDPUpdateTime
+ End If
+
+ If Label4.Caption < 1 Then
+ ' establish a TCP connection to a filter
+ TCPSock.Close
+ TCPSock.Connect filterHostname, filterTCPPort
+ Label4.Caption = TCPUpdateTime
+ End If
+
+End Sub
+
+Function Date2Num() As Long
+ Date2Num = DateDiff("s", "1-1-1970", Now)
+End Function