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

Comparing experimental/host/vb_net_test/nettest.frm (file contents):
Revision 1.1 by pjm2, Thu Feb 22 17:04:22 2001 UTC vs.
Revision 1.8 by pjm2, Fri Feb 23 11:25:35 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 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 <      Alignment       =   1  'Right Justify
92 <      Caption         =   "Destination:"
79 >      Caption         =   "Label3"
80        Height          =   255
81 <      Left            =   360
82 <      TabIndex        =   6
83 <      Top             =   1560
84 <      Width           =   1215
81 >      Left            =   1920
82 >      TabIndex        =   7
83 >      Top             =   960
84 >      Width           =   615
85     End
86     Begin VB.Label Label2
87 <      Alignment       =   1  'Right Justify
101 <      Caption         =   "Port:"
87 >      Caption         =   "Label2"
88        Height          =   255
89 <      Left            =   360
90 <      TabIndex        =   4
91 <      Top             =   1920
92 <      Width           =   1215
89 >      Left            =   120
90 >      TabIndex        =   6
91 >      Top             =   600
92 >      Width           =   3375
93     End
94     Begin VB.Label Label1
95 <      Caption         =   "Packet contents"
95 >      Caption         =   "Label1"
96        Height          =   255
97 <      Left            =   360
98 <      TabIndex        =   1
99 <      Top             =   360
100 <      Width           =   2895
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 <    ' Use the first winsock control to send
139 <    ' a UDP packet.
129 <    Winsock1.RemoteHost = Text3.Text
130 <    Winsock1.RemotePort = Text2.Text
131 <    Winsock1.SendData Text1.Text
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 machine
152 <    Winsock2.Close
153 <    Winsock2.Connect Text3.Text, Text2.Text
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 <    x = MsgBox("not implemented..")
158 >    ' establish a TCP connection to a filter
159 >    TCPSock.Close
160 >    TCPSock.Connect filterHostname, filterTCPPort
161   End Sub
162  
163 < Private Sub Winsock2_Connect()
164 <      
165 <   responseNumber = 0
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 <   ' As soon as we are connected to the server, send this.
197 <   Winsock2.SendData "STARTCONFIG" & vbCrLf
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 Winsock2_DataArrival(ByVal bytesTotal As Long)
207 > Private Sub TCPSock_DataArrival(ByVal bytesTotal As Long)
208      
209      responseNumber = responseNumber + 1
210      
211      ' Get the line from the server.
212 <    Winsock2.GetData response, vbString, bytesTotal
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 <    ' Decide what to send back to the server.
220 <    Select Case responseNumber
221 <        Case 1:
222 <            Winsock2.SendData "LASTMODIFIED" & vbCrLf
223 <        Case 2:
224 <            Winsock2.SendData "FILELIST" & vbCrLf
225 <        Case 3:
226 <            Winsock2.SendData "UDPUpdateTime" & vbCrLf
227 <        Case 4:
228 <            Winsock2.SendData "TCPUpdateTime" & vbCrLf
229 <        Case 5:
230 <            Winsock2.SendData "ENDCONFIG" & vbCrLf
231 <        Case 6:
232 <            Winsock2.SendData "FILTER" & vbCrLf
233 <        Case 7:
234 <            Winsock2.SendData "END" & vbCrLf
235 <        Case 8:
236 <            Winsock2.Close
237 <            Text4.Text = Text4.Text & vbCrLf & "  <closed>"
238 <    End Select
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines