ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/experimental/host/vb_net_test/nettest.frm
Revision: 1.8
Committed: Fri Feb 23 11:25:35 2001 UTC (23 years, 2 months ago) by pjm2
Branch: MAIN
Changes since 1.7: +72 -7 lines
Log Message:
VB Timer limit was ~65000 milliseconds.
The two timers have been removed and replaced with a single timer to allow
TCP/UDP intervals greater than 65 seconds.

File Contents

# Content
1 VERSION 5.00
2 Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
3 Begin VB.Form Form1
4 BorderStyle = 3 'Fixed Dialog
5 Caption = "TCP/UDP Test program"
6 ClientHeight = 5655
7 ClientLeft = 45
8 ClientTop = 330
9 ClientWidth = 5670
10 LinkTopic = "Form1"
11 MaxButton = 0 'False
12 MinButton = 0 'False
13 ScaleHeight = 5655
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 = 3
26 Top = 2520
27 Width = 1575
28 End
29 Begin VB.TextBox Text4
30 Height = 1575
31 Left = 240
32 MultiLine = -1 'True
33 ScrollBars = 2 'Vertical
34 TabIndex = 2
35 Text = "nettest.frx":0000
36 Top = 3000
37 Width = 5055
38 End
39 Begin VB.CommandButton Command2
40 Caption = "TCP to FilterManager"
41 Height = 375
42 Left = 3360
43 TabIndex = 1
44 Top = 2040
45 Width = 1935
46 End
47 Begin MSWinsockLib.Winsock TCPSock
48 Left = 4920
49 Top = 120
50 _ExtentX = 741
51 _ExtentY = 741
52 _Version = 393216
53 End
54 Begin VB.CommandButton Command1
55 Caption = "Send UDP"
56 Height = 375
57 Left = 4320
58 TabIndex = 0
59 Top = 1560
60 Width = 975
61 End
62 Begin MSWinsockLib.Winsock UDPSock
63 Left = 4320
64 Top = 120
65 _ExtentX = 741
66 _ExtentY = 741
67 _Version = 393216
68 Protocol = 1
69 End
70 Begin VB.Label Label4
71 Caption = "Label4"
72 Height = 255
73 Left = 1920
74 TabIndex = 8
75 Top = 1320
76 Width = 615
77 End
78 Begin VB.Label Label3
79 Caption = "Label3"
80 Height = 255
81 Left = 1920
82 TabIndex = 7
83 Top = 960
84 Width = 615
85 End
86 Begin VB.Label Label2
87 Caption = "Label2"
88 Height = 255
89 Left = 120
90 TabIndex = 6
91 Top = 600
92 Width = 3375
93 End
94 Begin VB.Label Label1
95 Caption = "Label1"
96 Height = 255
97 Left = 120
98 TabIndex = 5
99 Top = 240
100 Width = 3375
101 End
102 Begin VB.Label Status
103 Caption = "Status:"
104 Height = 255
105 Left = 120
106 TabIndex = 4
107 Top = 5280
108 Width = 5415
109 End
110 End
111 Attribute VB_Name = "Form1"
112 Attribute VB_GlobalNameSpace = False
113 Attribute VB_Creatable = False
114 Attribute VB_PredeclaredId = True
115 Attribute VB_Exposed = False
116 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
117 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
118
119 Dim filterManagerHostname As String
120 Dim filterManagerTCPPort As Integer
121
122 Dim filterHostname As String
123 Dim filterTCPPort As Integer
124 Dim filterUDPPort As Integer
125 Dim fileList As String
126 Dim lastModified As String
127
128 Dim UDPUpdateTime As Integer
129 Dim TCPUpdateTime As Integer
130
131 Dim protocolVersion As String
132 Dim connected As Boolean
133 Dim responseNumber As Integer
134
135
136 Private Sub Command1_Click()
137
138 ' build the contents of the XML packet.
139 xml = "<packet></packet>"
140
141 ' Use the first winsock control to send a UDP packet.
142 UDPSock.RemoteHost = filterHostname
143 UDPSock.RemotePort = filterUDPPort
144 UDPSock.SendData xml
145 Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
146
147 End Sub
148
149 Private Sub Command2_Click()
150
151 ' establish a TCP connection to a filtermanager
152 TCPSock.Close
153 TCPSock.Connect filterManagerHostname, filterManagerTCPPort
154
155 End Sub
156
157 Private Sub Command3_Click()
158 ' establish a TCP connection to a filter
159 TCPSock.Close
160 TCPSock.Connect filterHostname, filterTCPPort
161 End Sub
162
163 Private Sub Form_Load()
164 protocolVersion = "1.1"
165
166 Status.Caption = "i-scream Winhost " & protocolVersion
167
168 ''''TEMP
169 filterManagerHostname = "killigrew.ukc.ac.uk"
170 filterManagerTCPPort = 4567
171 Exit Sub
172 ''' ENDTEMP
173
174 On Error GoTo iniError
175 Dim buf As String * 256
176 Dim length As Long
177 length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
178 filterManagerHostname = Left$(buf, length)
179 length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
180 filterManagerTCPPort = Left$(buf, length)
181
182 Status.Caption = "i-scream Winhost " & protocolVersion & " connecting to Filter Manager"
183
184 Exit Sub
185
186 iniError:
187 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")
188 End
189
190 End Sub
191
192 Private Sub TCPSock_Connect()
193
194 responseNumber = 0
195
196 ' Send something as soon as we connect to the server.
197 If connected = False Then
198 ' contact the FilterManager
199 TCPSock.SendData "STARTCONFIG" & vbCrLf
200 Else
201 ' Contact the Filter
202 TCPSock.SendData "HEARTBEAT" & vbCrLf
203 End If
204
205 End Sub
206
207 Private Sub TCPSock_DataArrival(ByVal bytesTotal As Long)
208
209 responseNumber = responseNumber + 1
210
211 ' Get the line from the server.
212 TCPSock.GetData response, vbString, bytesTotal
213
214 ' Remove linefeeds and returns from the line.
215 response = Replace(response, Chr(13), "")
216 response = Replace(response, Chr(10), "")
217 Text4.Text = Text4.Text & vbCrLf & response
218
219 If connected = False Then
220 ' Perform TCP configuration (1.1)
221 On Error GoTo configError
222 Select Case responseNumber
223 Case 1:
224 If Not response = "OK" Then GoTo configError
225 TCPSock.SendData "LASTMODIFIED" & vbCrLf
226 Case 2:
227 If response = "ERROR" Then GoTo configError
228 lastModified = response
229 TCPSock.SendData "FILELIST" & vbCrLf
230 Case 3:
231 If response = "ERROR" Then GoTo configError
232 fileList = response
233 TCPSock.SendData "UDPUpdateTime" & vbCrLf
234 Case 4:
235 If response = "ERROR" Then GoTo configError
236 UDPUpdateTime = response
237 TCPSock.SendData "TCPUpdateTime" & vbCrLf
238 Case 5:
239 If response = "ERROR" Then GoTo configError
240 TCPUpdateTime = response
241 TCPSock.SendData "ENDCONFIG" & vbCrLf
242 Case 6:
243 If Not response = "OK" Then GoTo configError
244 TCPSock.SendData "FILTER" & vbCrLf
245 Case 7:
246 'we got a filter list here.
247 readTo = 0
248 ' get hostname
249 readTo = InStr(1, response, ";", vbBinaryCompare)
250 filterHostname = Mid(response, 1, readTo - 1)
251 response = Mid(response, readTo + 1, Len(response))
252 ' get UDP Port number
253 readTo = InStr(1, response, ";")
254 filterUDPPort = Mid(response, 1, readTo - 1)
255 response = Mid(response, readTo + 1, Len(response))
256 ' get TCP Port number
257 filterTCPPort = response
258 TCPSock.SendData "END" & vbCrLf
259 Case 8:
260 If Not response = "OK" Then GoTo configError
261 connected = True
262 responseNumber = 0
263 TCPSock.Close
264 Text4.Text = Text4.Text & vbCrLf & " <closed>"
265 Label1.Caption = "TCP hearbeat interval: " & UDPUpdateTime
266 Label2.Caption = "UDP packet interval: " & TCPUpdateTime
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 If Not response = "OK" Then GoTo heartbeatError
278 TCPSock.SendData "CONFIG" & vbCrLf
279 Case 2:
280 If Not response = "OK" Then GoTo heartbeatError
281 TCPSock.SendData fileList & vbCrLf
282 Case 3:
283 If Not response = "OK" Then GoTo heartbeatError
284 TCPSock.SendData lastModified & vbCrLf
285 Case 4:
286 If Not response = "OK" Then GoTo heartbeatError
287 TCPSock.SendData "ENDHEARTBEAT" & vbCrLf
288 Case 5:
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
295
296
297 Exit Sub
298
299 configError:
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