--- 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:30:25 1.9
@@ -14,20 +14,24 @@ Begin VB.Form Form1
ScaleWidth = 5670
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
+ Begin VB.Timer Timer1
+ Left = 3840
+ Top = 120
+ End
Begin VB.CommandButton Command3
Caption = "TCP to Filter"
Height = 375
Left = 3720
- TabIndex = 5
+ TabIndex = 3
Top = 2520
Width = 1575
End
Begin VB.TextBox Text4
- Height = 2535
+ Height = 1575
Left = 240
MultiLine = -1 'True
ScrollBars = 2 'Vertical
- TabIndex = 4
+ TabIndex = 2
Text = "nettest.frx":0000
Top = 3000
Width = 5055
@@ -36,11 +40,11 @@ Begin VB.Form Form1
Caption = "TCP to FilterManager"
Height = 375
Left = 3360
- TabIndex = 3
+ TabIndex = 1
Top = 2040
Width = 1935
End
- Begin MSWinsockLib.Winsock Winsock2
+ Begin MSWinsockLib.Winsock TCPSock
Left = 4920
Top = 120
_ExtentX = 741
@@ -51,19 +55,11 @@ Begin VB.Form Form1
Caption = "Send UDP"
Height = 375
Left = 4320
- TabIndex = 2
+ TabIndex = 0
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
+ Begin MSWinsockLib.Winsock UDPSock
Left = 4320
Top = 120
_ExtentX = 741
@@ -71,14 +67,48 @@ Begin VB.Form Form1
_Version = 393216
Protocol = 1
End
+ Begin VB.Label Label2
+ Alignment = 1 'Right Justify
+ Caption = "Next heartbeat:"
+ Height = 255
+ Left = 120
+ TabIndex = 8
+ 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 = 120
+ TabIndex = 7
+ Top = 120
+ Width = 1455
End
+ Begin VB.Label Label4
+ Caption = "0"
+ Height = 255
+ Left = 1680
+ TabIndex = 6
+ Top = 480
+ Width = 615
+ End
+ Begin VB.Label Label3
+ Caption = "0"
+ Height = 255
+ Left = 1680
+ TabIndex = 5
+ Top = 120
+ Width = 615
+ End
+ Begin VB.Label Status
+ Caption = "Status:"
+ Height = 255
+ Left = 120
+ TabIndex = 4
+ Top = 5280
+ Width = 5415
+ End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
@@ -97,6 +127,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,32 +137,36 @@ 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
+ TCPSock.Close
+ TCPSock.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 = "i-scream Winhost " & protocolVersion
+
''''TEMP
filterManagerHostname = "killigrew.ukc.ac.uk"
filterManagerTCPPort = 4567
@@ -144,6 +181,8 @@ Private Sub Form_Load()
length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "", buf, Len(buf), App.Path & "winhost.ini")
filterManagerTCPPort = Left$(buf, length)
+ Status.Caption = "i-scream Winhost " & protocolVersion & " connecting to Filter Manager"
+
Exit Sub
iniError:
@@ -152,31 +191,27 @@ iniError:
End Sub
-Private Sub Label2_Click()
-
-End Sub
-
-Private Sub Winsock2_Connect()
-
- responseNumber = 0
+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 +224,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 +257,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 = "i-scream Winhost " & protocolVersion & " - got config okay"
+ Label3.Caption = UDPUpdateTime
+ Label4.Caption = TCPUpdateTime
+ Timer1.Interval = 1000
End Select
Else
' Perform a heartbeat (1.1)
@@ -235,20 +275,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 = "i-scream Winhost " & protocolVersion & " - heartbeat sent okay."
End Select
End If
@@ -257,7 +297,58 @@ Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
Exit Sub
configError:
- x = MsgBox("error doing configuration")
+ Status.Caption = "i-scream Winhost " & protocolVersion & " - FAILED to get configuration " & Err.Description
+ Exit Sub
heartbeatError:
- x = MsgBox("error doing configuration")
+ Status.Caption = "i-scream Winhost " & protocolVersion & " - Heatbeat FAILED " & Err.Description
+ Exit Sub
+End Sub
+
+Private Sub TCPTimer_Timer()
+
+ ' establish a TCP connection to a filter
+ TCPSock.Close
+ TCPSock.Connect filterHostname, filterTCPPort
+
+End Sub
+
+Private Sub UDPTimer_Timer()
+
+ ' 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 = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
+
+End Sub
+
+Private Sub Timer1_Timer()
+
+ Label3.Caption = Label3.Caption - 1
+ Label4.Caption = Label4.Caption - 1
+
+ Status.Caption = "i-scream Winhost " & protocolVersion
+
+ 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 = "i-scream Winhost " & protocolVersion & " - 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