ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/experimental/host/vb_net_test/nettest.frm
Revision: 1.4
Committed: Fri Feb 23 10:29:16 2001 UTC (23 years, 2 months ago) by pjm2
Branch: MAIN
Changes since 1.3: +41 -42 lines
Log Message:
Fully working with all parts of the 1.1 host -> server TCP spec.
UDP is working, but packet contents not defined yet.

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 Winsock2
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 Winsock1
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 xml = "<packet></packet>"
108
109 ' Use the first winsock control to send a UDP packet.
110 Winsock1.RemoteHost = filterHostname
111 Winsock1.RemotePort = filterUDPPort
112 Winsock1.SendData xml
113
114 End Sub
115
116 Private Sub Command2_Click()
117
118 ' establish a TCP connection to a filtermanager
119 Winsock2.Close
120 Winsock2.Connect filterManagerHostname, filterManagerTCPPort
121
122 End Sub
123
124 Private Sub Command3_Click()
125 ' establish a TCP connection to a filter
126 Winsock2.Close
127 Winsock2.Connect filterHostname, filterTCPPort
128 End Sub
129
130 Private Sub Form_Load()
131 protocolVersion = "1.1"
132
133 ''''TEMP
134 filterManagerHostname = "killigrew.ukc.ac.uk"
135 filterManagerTCPPort = 4567
136 Exit Sub
137 ''' ENDTEMP
138
139 On Error GoTo iniError
140 Dim buf As String * 256
141 Dim length As Long
142 length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
143 filterManagerHostname = Left$(buf, length)
144 length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
145 filterManagerTCPPort = Left$(buf, length)
146
147 Exit Sub
148
149 iniError:
150 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")
151 End
152
153 End Sub
154
155 Private Sub Label2_Click()
156
157 End Sub
158
159 Private Sub Winsock2_Connect()
160
161 responseNumber = 0
162
163 ' Send something as soon as we connect to the server.
164 If connected = False Then
165 ' contact the FilterManager
166 Winsock2.SendData "STARTCONFIG" & vbCrLf
167 Else
168 ' Contact the Filter
169 Winsock2.SendData "HEARTBEAT" & vbCrLf
170 End If
171
172 End Sub
173
174 Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
175
176 responseNumber = responseNumber + 1
177
178 ' Get the line from the server.
179 Winsock2.GetData response, vbString, bytesTotal
180
181 ' Remove linefeeds and returns from the line.
182 response = Replace(response, Chr(13), "")
183 response = Replace(response, Chr(10), "")
184 Text4.Text = Text4.Text & vbCrLf & response
185
186 If connected = False Then
187 ' Perform TCP configuration (1.1)
188 On Error GoTo configError
189 Select Case responseNumber
190 Case 1:
191 If Not response = "OK" Then GoTo configError
192 Winsock2.SendData "LASTMODIFIED" & vbCrLf
193 Case 2:
194 If response = "ERROR" Then GoTo configError
195 lastModified = response
196 Winsock2.SendData "FILELIST" & vbCrLf
197 Case 3:
198 If response = "ERROR" Then GoTo configError
199 fileList = response
200 Winsock2.SendData "UDPUpdateTime" & vbCrLf
201 Case 4:
202 If response = "ERROR" Then GoTo configError
203 Winsock2.SendData "TCPUpdateTime" & vbCrLf
204 Case 5:
205 If response = "ERROR" Then GoTo configError
206 Winsock2.SendData "ENDCONFIG" & vbCrLf
207 Case 6:
208 If Not response = "OK" Then GoTo configError
209 Winsock2.SendData "FILTER" & vbCrLf
210 Case 7:
211 'we got a filter list here.
212 readTo = 0
213 ' get hostname
214 readTo = InStr(1, response, ";", vbBinaryCompare)
215 filterHostname = Mid(response, 1, readTo - 1)
216 response = Mid(response, readTo + 1, Len(response))
217 ' get UDP Port number
218 readTo = InStr(1, response, ";")
219 filterUDPPort = Mid(response, 1, readTo - 1)
220 response = Mid(response, readTo + 1, Len(response))
221 ' get TCP Port number
222 filterTCPPort = response
223 Winsock2.SendData "END" & vbCrLf
224 Case 8:
225 If Not response = "OK" Then GoTo configError
226 connected = True
227 responseNumber = 0
228 Winsock2.Close
229 Text4.Text = Text4.Text & vbCrLf & " <closed>"
230 x = MsgBox("got config okay")
231 End Select
232 Else
233 ' Perform a heartbeat (1.1)
234 On Error GoTo heartbeatError
235 Select Case responseNumber
236 Case 1:
237 If Not response = "OK" Then GoTo heartbeatError
238 Winsock2.SendData "CONFIG" & vbCrLf
239 Case 2:
240 If Not response = "OK" Then GoTo heartbeatError
241 Winsock2.SendData fileList & vbCrLf
242 Case 3:
243 If Not response = "OK" Then GoTo heartbeatError
244 Winsock2.SendData lastModified & vbCrLf
245 Case 4:
246 If Not response = "OK" Then GoTo heartbeatError
247 Winsock2.SendData "ENDHEARTBEAT" & vbCrLf
248 Case 5:
249 If Not response = "OK" Then GoTo heartbeatError
250 Winsock2.Close
251 x = MsgBox("heartbeat sent okay.")
252 End Select
253
254 End If
255
256
257 Exit Sub
258
259 configError:
260 x = MsgBox("error doing configuration")
261 heartbeatError:
262 x = MsgBox("error doing configuration")
263 End Sub