--- 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:25:35 1.8 @@ -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,46 @@ Begin VB.Form Form1 _Version = 393216 Protocol = 1 End + Begin VB.Label Label4 + Caption = "Label4" + Height = 255 + Left = 1920 + TabIndex = 8 + Top = 1320 + Width = 615 + End + Begin VB.Label Label3 + Caption = "Label3" + Height = 255 + Left = 1920 + TabIndex = 7 + Top = 960 + Width = 615 + End + Begin VB.Label Label2 + Caption = "Label2" + Height = 255 + Left = 120 + TabIndex = 6 + Top = 600 + Width = 3375 + End Begin VB.Label Label1 - Caption = "Packet contents" + Caption = "Label1" Height = 255 - Left = 360 - TabIndex = 1 - Top = 360 - Width = 2895 + Left = 120 + TabIndex = 5 + Top = 240 + Width = 3375 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 +125,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 +135,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 +179,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 +189,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 +222,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 +255,19 @@ 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") + Label1.Caption = "TCP hearbeat interval: " & UDPUpdateTime + Label2.Caption = "UDP packet interval: " & TCPUpdateTime + 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