ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/winhost/nettest.frm
(Generate patch)

Comparing projects/cms/source/host/winhost/nettest.frm (file contents):
Revision 1.2 by pjm2, Fri Feb 23 09:42:36 2001 UTC vs.
Revision 1.9 by pjm2, Fri Feb 23 11:30:25 2001 UTC

# Line 14 | Line 14 | Begin VB.Form Form1
14     ScaleWidth      =   5670
15     ShowInTaskbar   =   0   'False
16     StartUpPosition =   3  'Windows Default
17 +   Begin VB.Timer Timer1
18 +      Left            =   3840
19 +      Top             =   120
20 +   End
21     Begin VB.CommandButton Command3
22        Caption         =   "TCP to Filter"
23        Height          =   375
24        Left            =   3720
25 <      TabIndex        =   9
25 >      TabIndex        =   3
26        Top             =   2520
27        Width           =   1575
28     End
29     Begin VB.TextBox Text4
30 <      Height          =   2535
30 >      Height          =   1575
31        Left            =   240
32        MultiLine       =   -1  'True
33        ScrollBars      =   2  'Vertical
34 <      TabIndex        =   8
34 >      TabIndex        =   2
35        Text            =   "nettest.frx":0000
36        Top             =   3000
37        Width           =   5055
# Line 36 | Line 40 | Begin VB.Form Form1
40        Caption         =   "TCP to FilterManager"
41        Height          =   375
42        Left            =   3360
43 <      TabIndex        =   7
43 >      TabIndex        =   1
44        Top             =   2040
45        Width           =   1935
46     End
47 <   Begin MSWinsockLib.Winsock Winsock2
47 >   Begin MSWinsockLib.Winsock TCPSock
48        Left            =   4920
49        Top             =   120
50        _ExtentX        =   741
51        _ExtentY        =   741
52        _Version        =   393216
53     End
50   Begin VB.TextBox Text3
51      Height          =   285
52      Left            =   1680
53      TabIndex        =   5
54      Text            =   "killigrew.ukc.ac.uk"
55      Top             =   1560
56      Width           =   2535
57   End
58   Begin VB.TextBox Text2
59      Height          =   285
60      Left            =   1680
61      TabIndex        =   3
62      Text            =   "4567"
63      Top             =   1920
64      Width           =   855
65   End
54     Begin VB.CommandButton Command1
55        Caption         =   "Send UDP"
56        Height          =   375
57        Left            =   4320
58 <      TabIndex        =   2
58 >      TabIndex        =   0
59        Top             =   1560
60        Width           =   975
61     End
62 <   Begin VB.TextBox Text1
75 <      Height          =   855
76 <      Left            =   360
77 <      TabIndex        =   0
78 <      Text            =   "<packet></packet>"
79 <      Top             =   600
80 <      Width           =   4935
81 <   End
82 <   Begin MSWinsockLib.Winsock Winsock1
62 >   Begin MSWinsockLib.Winsock UDPSock
63        Left            =   4320
64        Top             =   120
65        _ExtentX        =   741
# Line 87 | Line 67 | Begin VB.Form Form1
67        _Version        =   393216
68        Protocol        =   1
69     End
70 <   Begin VB.Label Label3
70 >   Begin VB.Label Label2
71        Alignment       =   1  'Right Justify
72 <      Caption         =   "Destination:"
72 >      Caption         =   "Next heartbeat:"
73        Height          =   255
74 <      Left            =   360
75 <      TabIndex        =   6
76 <      Top             =   1560
77 <      Width           =   1215
74 >      Left            =   120
75 >      TabIndex        =   8
76 >      Top             =   480
77 >      Width           =   1455
78     End
79 <   Begin VB.Label Label2
79 >   Begin VB.Label Label1
80        Alignment       =   1  'Right Justify
81 <      Caption         =   "Port:"
81 >      Caption         =   "Next UDP packet:"
82        Height          =   255
83 <      Left            =   360
84 <      TabIndex        =   4
85 <      Top             =   1920
86 <      Width           =   1215
83 >      Left            =   120
84 >      TabIndex        =   7
85 >      Top             =   120
86 >      Width           =   1455
87     End
88 <   Begin VB.Label Label1
89 <      Caption         =   "Packet contents"
88 >   Begin VB.Label Label4
89 >      Caption         =   "0"
90        Height          =   255
91 <      Left            =   360
92 <      TabIndex        =   1
93 <      Top             =   360
94 <      Width           =   2895
91 >      Left            =   1680
92 >      TabIndex        =   6
93 >      Top             =   480
94 >      Width           =   615
95     End
96 +   Begin VB.Label Label3
97 +      Caption         =   "0"
98 +      Height          =   255
99 +      Left            =   1680
100 +      TabIndex        =   5
101 +      Top             =   120
102 +      Width           =   615
103 +   End
104 +   Begin VB.Label Status
105 +      Caption         =   "Status:"
106 +      Height          =   255
107 +      Left            =   120
108 +      TabIndex        =   4
109 +      Top             =   5280
110 +      Width           =   5415
111 +   End
112   End
113   Attribute VB_Name = "Form1"
114   Attribute VB_GlobalNameSpace = False
115   Attribute VB_Creatable = False
116   Attribute VB_PredeclaredId = True
117   Attribute VB_Exposed = False
118 + 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
119 + 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
120 +
121 + Dim filterManagerHostname As String
122 + Dim filterManagerTCPPort As Integer
123 +
124   Dim filterHostname As String
125 < Dim filterTCPPort As String
126 < Dim filterUDPPort As String
125 > Dim filterTCPPort As Integer
126 > Dim filterUDPPort As Integer
127 > Dim fileList As String
128 > Dim lastModified As String
129  
130 + Dim UDPUpdateTime As Integer
131 + Dim TCPUpdateTime As Integer
132 +
133   Dim protocolVersion As String
134   Dim connected As Boolean
135   Dim responseNumber As Integer
# Line 130 | Line 137 | Dim responseNumber As Integer
137  
138   Private Sub Command1_Click()
139  
140 +    ' build the contents of the XML packet.
141 +    xml = "<packet></packet>"
142 +
143      ' Use the first winsock control to send a UDP packet.
144 <    Winsock1.RemoteHost = Text3.Text
145 <    Winsock1.RemotePort = Text2.Text
146 <    Winsock1.SendData Text1.Text
144 >    UDPSock.RemoteHost = filterHostname
145 >    UDPSock.RemotePort = filterUDPPort
146 >    UDPSock.SendData xml
147 >    Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
148  
149   End Sub
150  
151   Private Sub Command2_Click()
152      
153 <    ' establish a TCP connection to a machine
154 <    Winsock2.Close
155 <    Winsock2.Connect Text3.Text, Text2.Text
153 >    ' establish a TCP connection to a filtermanager
154 >    TCPSock.Close
155 >    TCPSock.Connect filterManagerHostname, filterManagerTCPPort
156  
157   End Sub
158  
159   Private Sub Command3_Click()
160 <    x = MsgBox("not implemented..")
160 >    ' establish a TCP connection to a filter
161 >    TCPSock.Close
162 >    TCPSock.Connect filterHostname, filterTCPPort
163   End Sub
164  
165   Private Sub Form_Load()
166      protocolVersion = "1.1"
167 +    
168 +    Status.Caption = "i-scream Winhost " & protocolVersion
169 +    
170 +    ''''TEMP
171 +    filterManagerHostname = "killigrew.ukc.ac.uk"
172 +    filterManagerTCPPort = 4567
173 +    Exit Sub
174 +    ''' ENDTEMP
175 +    
176 +    On Error GoTo iniError
177 +    Dim buf As String * 256
178 +    Dim length As Long
179 +    length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
180 +    filterManagerHostname = Left$(buf, length)
181 +    length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
182 +    filterManagerTCPPort = Left$(buf, length)
183 +    
184 +    Status.Caption = "i-scream Winhost " & protocolVersion & " connecting to Filter Manager"
185 +    
186 +    Exit Sub
187 +    
188 + iniError:
189 +    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")
190 +    End
191 +    
192   End Sub
193  
194 < Private Sub Winsock2_Connect()
195 <      
196 <   responseNumber = 0
194 > Private Sub TCPSock_Connect()
195 >    
196 >    responseNumber = 0
197    
198 <   ' As soon as we are connected to the server, send this.
199 <   Winsock2.SendData "STARTCONFIG" & vbCrLf
198 >    ' Send something as soon as we connect to the server.
199 >    If connected = False Then
200 >        ' contact the FilterManager
201 >        TCPSock.SendData "STARTCONFIG" & vbCrLf
202 >    Else
203 >       ' Contact the Filter
204 >       TCPSock.SendData "HEARTBEAT" & vbCrLf
205 >    End If
206    
207   End Sub
208  
209 < Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
209 > Private Sub TCPSock_DataArrival(ByVal bytesTotal As Long)
210      
211      responseNumber = responseNumber + 1
212      
213      ' Get the line from the server.
214 <    Winsock2.GetData response, vbString, bytesTotal
214 >    TCPSock.GetData response, vbString, bytesTotal
215      
216      ' Remove linefeeds and returns from the line.
217      response = Replace(response, Chr(13), "")
# Line 180 | Line 224 | Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
224          Select Case responseNumber
225              Case 1:
226                  If Not response = "OK" Then GoTo configError
227 <                Winsock2.SendData "LASTMODIFIED" & vbCrLf
227 >                TCPSock.SendData "LASTMODIFIED" & vbCrLf
228              Case 2:
229                  If response = "ERROR" Then GoTo configError
230 <                Winsock2.SendData "FILELIST" & vbCrLf
230 >                lastModified = response
231 >                TCPSock.SendData "FILELIST" & vbCrLf
232              Case 3:
233                  If response = "ERROR" Then GoTo configError
234 <                Winsock2.SendData "UDPUpdateTime" & vbCrLf
234 >                fileList = response
235 >                TCPSock.SendData "UDPUpdateTime" & vbCrLf
236              Case 4:
237                  If response = "ERROR" Then GoTo configError
238 <                Winsock2.SendData "TCPUpdateTime" & vbCrLf
238 >                UDPUpdateTime = response
239 >                TCPSock.SendData "TCPUpdateTime" & vbCrLf
240              Case 5:
241                  If response = "ERROR" Then GoTo configError
242 <                Winsock2.SendData "ENDCONFIG" & vbCrLf
242 >                TCPUpdateTime = response
243 >                TCPSock.SendData "ENDCONFIG" & vbCrLf
244              Case 6:
245                  If Not response = "OK" Then GoTo configError
246 <                Winsock2.SendData "FILTER" & vbCrLf
246 >                TCPSock.SendData "FILTER" & vbCrLf
247              Case 7:
248                  'we got a filter list here.
249                  readTo = 0
# Line 209 | Line 257 | Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
257                  response = Mid(response, readTo + 1, Len(response))
258                  ' get TCP Port number
259                  filterTCPPort = response
260 <                Winsock2.SendData "END" & vbCrLf
260 >                TCPSock.SendData "END" & vbCrLf
261              Case 8:
262                  If Not response = "OK" Then GoTo configError
263                  connected = True
264                  responseNumber = 0
265 <                Winsock2.Close
265 >                TCPSock.Close
266                  Text4.Text = Text4.Text & vbCrLf & "  <closed>"
267 <                x = MsgBox("got config okay")
267 >                Status.Caption = "i-scream Winhost " & protocolVersion & " - got config okay"
268 >                Label3.Caption = UDPUpdateTime
269 >                Label4.Caption = TCPUpdateTime
270 >                Timer1.Interval = 1000
271          End Select
272      Else
273          ' Perform a heartbeat (1.1)
274          On Error GoTo heartbeatError
275          Select Case responseNumber
276              Case 1:
277 <                
277 >                If Not response = "OK" Then GoTo heartbeatError
278 >                TCPSock.SendData "CONFIG" & vbCrLf
279              Case 2:
280 <                
280 >                If Not response = "OK" Then GoTo heartbeatError
281 >                TCPSock.SendData fileList & vbCrLf
282              Case 3:
283 <                
283 >                If Not response = "OK" Then GoTo heartbeatError
284 >                TCPSock.SendData lastModified & vbCrLf
285              Case 4:
286 <                
286 >                If Not response = "OK" Then GoTo heartbeatError
287 >                TCPSock.SendData "ENDHEARTBEAT" & vbCrLf
288              Case 5:
289 <                
290 <            Case 6:
291 <                
237 <            Case 7:
238 <                
239 <            Case 8:
240 <                
289 >                If Not response = "OK" Then GoTo heartbeatError
290 >                TCPSock.Close
291 >                Status.Caption = "i-scream Winhost " & protocolVersion & " - heartbeat sent okay."
292          End Select
293      
294      End If
# Line 246 | Line 297 | Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
297      Exit Sub
298      
299   configError:
300 <    x = MsgBox("error doing configuration")
300 >    Status.Caption = "i-scream Winhost " & protocolVersion & " - FAILED to get configuration " & Err.Description
301 >    Exit Sub
302   heartbeatError:
303 +    Status.Caption = "i-scream Winhost " & protocolVersion & " - Heatbeat FAILED " & Err.Description
304 +    Exit Sub
305 + End Sub
306 +
307 + Private Sub TCPTimer_Timer()
308      
309 +    ' establish a TCP connection to a filter
310 +    TCPSock.Close
311 +    TCPSock.Connect filterHostname, filterTCPPort
312 +
313 + End Sub
314 +
315 + Private Sub UDPTimer_Timer()
316 +    
317 +    ' build the contents of the XML packet.
318 +    xml = "<packet></packet>"
319 +
320 +    ' Use the first winsock control to send a UDP packet.
321 +    UDPSock.RemoteHost = filterHostname
322 +    UDPSock.RemotePort = filterUDPPort
323 +    UDPSock.SendData xml
324 +    Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
325 +
326 + End Sub
327 +
328 + Private Sub Timer1_Timer()
329 +
330 +    Label3.Caption = Label3.Caption - 1
331 +    Label4.Caption = Label4.Caption - 1
332 +    
333 +    Status.Caption = "i-scream Winhost " & protocolVersion
334 +    
335 +    If Label3.Caption < 1 Then
336 +        ' build the contents of the XML packet.
337 +        xml = "<packet></packet>"
338 +
339 +        ' Use the first winsock control to send a UDP packet.
340 +        UDPSock.RemoteHost = filterHostname
341 +        UDPSock.RemotePort = filterUDPPort
342 +        UDPSock.SendData xml
343 +        Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
344 +        Label3.Caption = UDPUpdateTime
345 +    End If
346 +    
347 +    If Label4.Caption < 1 Then
348 +        ' establish a TCP connection to a filter
349 +        TCPSock.Close
350 +        TCPSock.Connect filterHostname, filterTCPPort
351 +        Label4.Caption = TCPUpdateTime
352 +    End If
353 +
354   End Sub

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines