--- projects/cms/source/host/winhost/nettest.frm 2001/02/23 10:07:55 1.3 +++ projects/cms/source/host/winhost/nettest.frm 2001/02/23 10:34:47 1.5 @@ -18,7 +18,7 @@ Begin VB.Form Form1 Caption = "TCP to Filter" Height = 375 Left = 3720 - TabIndex = 9 + TabIndex = 5 Top = 2520 Width = 1575 End @@ -27,7 +27,7 @@ Begin VB.Form Form1 Left = 240 MultiLine = -1 'True ScrollBars = 2 'Vertical - TabIndex = 8 + TabIndex = 4 Text = "nettest.frx":0000 Top = 3000 Width = 5055 @@ -36,33 +36,17 @@ Begin VB.Form Form1 Caption = "TCP to FilterManager" Height = 375 Left = 3360 - TabIndex = 7 + TabIndex = 3 Top = 2040 Width = 1935 End - Begin MSWinsockLib.Winsock Winsock2 + Begin MSWinsockLib.Winsock TCPSock Left = 4920 Top = 120 _ExtentX = 741 _ExtentY = 741 _Version = 393216 End - Begin VB.TextBox Text3 - Height = 285 - Left = 1680 - TabIndex = 5 - Text = "killigrew.ukc.ac.uk" - Top = 1560 - Width = 2535 - End - Begin VB.TextBox Text2 - Height = 285 - Left = 1680 - TabIndex = 3 - Text = "4567" - Top = 1920 - Width = 855 - End Begin VB.CommandButton Command1 Caption = "Send UDP" Height = 375 @@ -79,7 +63,7 @@ Begin VB.Form Form1 Top = 600 Width = 4935 End - Begin MSWinsockLib.Winsock Winsock1 + Begin MSWinsockLib.Winsock UDPSock Left = 4320 Top = 120 _ExtentX = 741 @@ -87,24 +71,6 @@ Begin VB.Form Form1 _Version = 393216 Protocol = 1 End - Begin VB.Label Label3 - Alignment = 1 'Right Justify - Caption = "Destination:" - Height = 255 - Left = 360 - TabIndex = 6 - Top = 1560 - Width = 1215 - End - Begin VB.Label Label2 - Alignment = 1 'Right Justify - Caption = "Port:" - Height = 255 - Left = 360 - TabIndex = 4 - Top = 1920 - Width = 1215 - End Begin VB.Label Label1 Caption = "Packet contents" Height = 255 @@ -119,6 +85,12 @@ Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False +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 +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 + +Dim filterManagerHostname As String +Dim filterManagerTCPPort As Integer + Dim filterHostname As String Dim filterTCPPort As Integer Dim filterUDPPort As Integer @@ -132,52 +104,76 @@ 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 = Text3.Text - Winsock1.RemotePort = Text2.Text - Winsock1.SendData Text1.Text + UDPSock.RemoteHost = filterHostname + UDPSock.RemotePort = filterUDPPort + UDPSock.SendData xml End Sub Private Sub Command2_Click() ' establish a TCP connection to a filtermanager - Winsock2.Close - Winsock2.Connect Text3.Text, Text2.Text + 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" + + ''''TEMP + filterManagerHostname = "killigrew.ukc.ac.uk" + filterManagerTCPPort = 4567 + Exit Sub + ''' ENDTEMP + + On Error GoTo iniError + Dim buf As String * 256 + Dim length As Long + length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "", buf, Len(buf), App.Path & "winhost.ini") + filterManagerHostname = Left$(buf, length) + length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "", buf, Len(buf), App.Path & "winhost.ini") + filterManagerTCPPort = Left$(buf, length) + + Exit Sub + +iniError: + 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") + End + End Sub -Private Sub Winsock2_Connect() +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), "") @@ -190,24 +186,24 @@ 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 + TCPSock.SendData "TCPUpdateTime" & vbCrLf Case 5: If response = "ERROR" Then GoTo configError - Winsock2.SendData "ENDCONFIG" & vbCrLf + 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 @@ -221,12 +217,12 @@ 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") End Select @@ -236,19 +232,19 @@ 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 + TCPSock.Close x = MsgBox("heartbeat sent okay.") End Select @@ -260,5 +256,6 @@ Private Sub Winsock2_DataArrival(ByVal bytesTotal As L configError: x = MsgBox("error doing configuration") heartbeatError: - + x = MsgBox("error doing configuration") End Sub +