--- experimental/host/vb_net_test/nettest.frm 2001/02/23 10:29:16 1.4
+++ experimental/host/vb_net_test/nettest.frm 2001/02/23 11:42:06 1.10
@@ -1,11 +1,11 @@
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.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
+ ClientTop = 285
ClientWidth = 5670
LinkTopic = "Form1"
MaxButton = 0 'False
@@ -14,71 +14,87 @@ Begin VB.Form Form1
ScaleWidth = 5670
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
- Begin VB.CommandButton Command3
- Caption = "TCP to Filter"
- Height = 375
- Left = 3720
- TabIndex = 5
- Top = 2520
- Width = 1575
+ Begin VB.Timer Timer1
+ Left = 4200
+ Top = 1200
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
End
- Begin VB.CommandButton Command2
- Caption = "TCP to FilterManager"
- Height = 375
- Left = 3360
- TabIndex = 3
- Top = 2040
- Width = 1935
- End
- Begin MSWinsockLib.Winsock Winsock2
- Left = 4920
+ Begin VB.CommandButton Reconfigure
+ Caption = "Reconfigure with FilterManager"
+ Height = 495
+ Left = 120
+ TabIndex = 0
Top = 120
+ Width = 2895
+ End
+ Begin MSWinsockLib.Winsock TCPSock
+ Left = 5160
+ Top = 1200
_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 Winsock1
- Left = 4320
- Top = 120
+ Begin MSWinsockLib.Winsock UDPSock
+ Left = 4680
+ Top = 1200
_ExtentX = 741
_ExtentY = 741
_Version = 393216
Protocol = 1
End
+ Begin VB.Label Label2
+ Alignment = 1 'Right Justify
+ Caption = "Next heartbeat:"
+ Height = 255
+ Left = 3360
+ 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 = 3360
+ TabIndex = 5
+ Top = 120
+ Width = 1455
End
+ Begin VB.Label Label4
+ BorderStyle = 1 'Fixed Single
+ Caption = "0"
+ Height = 255
+ Left = 4920
+ TabIndex = 4
+ Top = 480
+ Width = 615
+ End
+ Begin VB.Label Label3
+ BorderStyle = 1 'Fixed Single
+ Caption = "0"
+ Height = 255
+ Left = 4920
+ TabIndex = 3
+ Top = 120
+ Width = 615
+ End
+ Begin VB.Label Status
+ Caption = "Status:"
+ Height = 255
+ Left = 120
+ TabIndex = 2
+ Top = 840
+ Width = 5415
+ End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
@@ -97,6 +113,9 @@ 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
@@ -104,35 +123,34 @@ 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.
- Winsock1.RemoteHost = filterHostname
- Winsock1.RemotePort = filterUDPPort
- Winsock1.SendData xml
+ UDPSock.RemoteHost = filterHostname
+ UDPSock.RemotePort = filterUDPPort
+ UDPSock.SendData xml
+ Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
End Sub
-Private Sub Command2_Click()
-
- ' establish a TCP connection to a filtermanager
- Winsock2.Close
- Winsock2.Connect filterManagerHostname, filterManagerTCPPort
-End Sub
-
Private Sub Command3_Click()
' establish a TCP connection to a filter
- Winsock2.Close
- Winsock2.Connect filterHostname, filterTCPPort
+ TCPSock.Close
+ TCPSock.Connect filterHostname, filterTCPPort
End Sub
Private Sub Form_Load()
protocolVersion = "1.1"
+
+ Status.Caption = "Loading"
+ Form1.Caption = "i-scream Winhost " & protocolVersion
''''TEMP
filterManagerHostname = "killigrew.ukc.ac.uk"
filterManagerTCPPort = 4567
+ Reconfigure_Click
Exit Sub
''' ENDTEMP
@@ -144,6 +162,8 @@ Private Sub Form_Load()
length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "", buf, Len(buf), App.Path & "winhost.ini")
filterManagerTCPPort = Left$(buf, length)
+ Status.Caption = "Connecting to Filter Manager"
+
Exit Sub
iniError:
@@ -152,31 +172,42 @@ iniError:
End Sub
-Private Sub Label2_Click()
+Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
+ x = MsgBox("Are you sure you want to shut down the Winhost?", vbYesNo, "i-scream Winhost")
+ If x = 7 Then
+ Cancel = True
+ End If
End Sub
-Private Sub Winsock2_Connect()
-
- responseNumber = 0
+Private Sub Reconfigure_Click()
+ ' establish a TCP connection to a filtermanager
+ connected = False
+ TCPSock.Close
+ TCPSock.Connect filterManagerHostname, filterManagerTCPPort
+End Sub
+
+Private Sub TCPSock_Connect()
+
+ responseNumber = 0
' Send something as soon as we connect to the server.
If connected = False Then
' contact the FilterManager
- Winsock2.SendData "STARTCONFIG" & vbCrLf
+ TCPSock.SendData "STARTCONFIG" & vbCrLf
Else
' Contact the Filter
- Winsock2.SendData "HEARTBEAT" & vbCrLf
+ TCPSock.SendData "HEARTBEAT" & vbCrLf
End If
End Sub
-Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
+Private Sub TCPSock_DataArrival(ByVal bytesTotal As Long)
responseNumber = responseNumber + 1
' Get the line from the server.
- Winsock2.GetData response, vbString, bytesTotal
+ TCPSock.GetData response, vbString, bytesTotal
' Remove linefeeds and returns from the line.
response = Replace(response, Chr(13), "")
@@ -189,24 +220,26 @@ Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
Select Case responseNumber
Case 1:
If Not response = "OK" Then GoTo configError
- Winsock2.SendData "LASTMODIFIED" & vbCrLf
+ TCPSock.SendData "LASTMODIFIED" & vbCrLf
Case 2:
If response = "ERROR" Then GoTo configError
lastModified = response
- Winsock2.SendData "FILELIST" & vbCrLf
+ TCPSock.SendData "FILELIST" & vbCrLf
Case 3:
If response = "ERROR" Then GoTo configError
fileList = response
- Winsock2.SendData "UDPUpdateTime" & vbCrLf
+ TCPSock.SendData "UDPUpdateTime" & vbCrLf
Case 4:
If response = "ERROR" Then GoTo configError
- Winsock2.SendData "TCPUpdateTime" & vbCrLf
+ UDPUpdateTime = response
+ TCPSock.SendData "TCPUpdateTime" & vbCrLf
Case 5:
If response = "ERROR" Then GoTo configError
- Winsock2.SendData "ENDCONFIG" & vbCrLf
+ TCPUpdateTime = response
+ TCPSock.SendData "ENDCONFIG" & vbCrLf
Case 6:
If Not response = "OK" Then GoTo configError
- Winsock2.SendData "FILTER" & vbCrLf
+ TCPSock.SendData "FILTER" & vbCrLf
Case 7:
'we got a filter list here.
readTo = 0
@@ -220,14 +253,17 @@ Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
response = Mid(response, readTo + 1, Len(response))
' get TCP Port number
filterTCPPort = response
- Winsock2.SendData "END" & vbCrLf
+ TCPSock.SendData "END" & vbCrLf
Case 8:
If Not response = "OK" Then GoTo configError
connected = True
responseNumber = 0
- Winsock2.Close
+ 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)
@@ -235,20 +271,20 @@ Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
Select Case responseNumber
Case 1:
If Not response = "OK" Then GoTo heartbeatError
- Winsock2.SendData "CONFIG" & vbCrLf
+ TCPSock.SendData "CONFIG" & vbCrLf
Case 2:
If Not response = "OK" Then GoTo heartbeatError
- Winsock2.SendData fileList & vbCrLf
+ TCPSock.SendData fileList & vbCrLf
Case 3:
If Not response = "OK" Then GoTo heartbeatError
- Winsock2.SendData lastModified & vbCrLf
+ TCPSock.SendData lastModified & vbCrLf
Case 4:
If Not response = "OK" Then GoTo heartbeatError
- Winsock2.SendData "ENDHEARTBEAT" & vbCrLf
+ TCPSock.SendData "ENDHEARTBEAT" & vbCrLf
Case 5:
If Not response = "OK" Then GoTo heartbeatError
- Winsock2.Close
- x = MsgBox("heartbeat sent okay.")
+ TCPSock.Close
+ Status.Caption = "Heartbeat sent successfully."
End Select
End If
@@ -257,7 +293,37 @@ Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
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.
+ 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