ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/experimental/host/vb_net_test/nettest.frm
Revision: 1.5
Committed: Fri Feb 23 10:34:47 2001 UTC (23 years, 3 months ago) by pjm2
Branch: MAIN
Changes since 1.4: +29 -31 lines
Log Message:
TCPSock and UDPSock now have their own names

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