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.11 by pjm2, Fri Feb 23 11:56:43 2001 UTC

# Line 1 | Line 1
1   VERSION 5.00
2   Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
3 + Object = "{33155A3D-0CE0-11D1-A6B4-444553540000}#1.0#0"; "SysTray.ocx"
4   Begin VB.Form Form1
5 <   BorderStyle     =   3  'Fixed Dialog
6 <   Caption         =   "TCP/UDP Test program"
5 >   BorderStyle     =   4  'Fixed ToolWindow
6 >   Caption         =   "i-scream Winhost"
7     ClientHeight    =   5655
8     ClientLeft      =   45
9 <   ClientTop       =   330
9 >   ClientTop       =   285
10     ClientWidth     =   5670
11     LinkTopic       =   "Form1"
12     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        =   9
22 <      Top             =   2520
23 <      Width           =   1575
17 >   Begin VB.CommandButton Hide
18 >      Caption         =   "Hide"
19 >      Height          =   495
20 >      Left            =   1800
21 >      TabIndex        =   7
22 >      Top             =   2160
23 >      Width           =   1215
24     End
25 +   Begin SysTray.SystemTray SystemTray
26 +      Left            =   3600
27 +      Top             =   1200
28 +      _ExtentX        =   847
29 +      _ExtentY        =   847
30 +      SysTrayText     =   "i-scream Winhost"
31 +      IconFile        =   0
32 +   End
33 +   Begin VB.Timer Timer1
34 +      Left            =   4200
35 +      Top             =   1200
36 +   End
37     Begin VB.TextBox Text4
38 <      Height          =   2535
38 >      Height          =   1575
39        Left            =   240
40        MultiLine       =   -1  'True
41        ScrollBars      =   2  'Vertical
42 <      TabIndex        =   8
42 >      TabIndex        =   1
43        Text            =   "nettest.frx":0000
44        Top             =   3000
45        Width           =   5055
46     End
47 <   Begin VB.CommandButton Command2
48 <      Caption         =   "TCP to FilterManager"
49 <      Height          =   375
50 <      Left            =   3360
51 <      TabIndex        =   7
40 <      Top             =   2040
41 <      Width           =   1935
42 <   End
43 <   Begin MSWinsockLib.Winsock Winsock2
44 <      Left            =   4920
47 >   Begin VB.CommandButton Reconfigure
48 >      Caption         =   "Reconfigure with FilterManager"
49 >      Height          =   495
50 >      Left            =   120
51 >      TabIndex        =   0
52        Top             =   120
53 +      Width           =   2895
54 +   End
55 +   Begin MSWinsockLib.Winsock TCPSock
56 +      Left            =   5160
57 +      Top             =   1200
58        _ExtentX        =   741
59        _ExtentY        =   741
60        _Version        =   393216
61     End
62 <   Begin VB.TextBox Text3
63 <      Height          =   285
64 <      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
66 <   Begin VB.CommandButton Command1
67 <      Caption         =   "Send UDP"
68 <      Height          =   375
69 <      Left            =   4320
70 <      TabIndex        =   2
71 <      Top             =   1560
72 <      Width           =   975
73 <   End
74 <   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
83 <      Left            =   4320
84 <      Top             =   120
62 >   Begin MSWinsockLib.Winsock UDPSock
63 >      Left            =   4680
64 >      Top             =   1200
65        _ExtentX        =   741
66        _ExtentY        =   741
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
74 >      Left            =   3360
75        TabIndex        =   6
76 <      Top             =   1560
77 <      Width           =   1215
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
83 >      Left            =   3360
84 >      TabIndex        =   5
85 >      Top             =   120
86 >      Width           =   1455
87 >   End
88 >   Begin VB.Label Label4
89 >      BorderStyle     =   1  'Fixed Single
90 >      Caption         =   "0"
91 >      Height          =   255
92 >      Left            =   4920
93        TabIndex        =   4
94 <      Top             =   1920
95 <      Width           =   1215
94 >      Top             =   480
95 >      Width           =   615
96     End
97 <   Begin VB.Label Label1
98 <      Caption         =   "Packet contents"
97 >   Begin VB.Label Label3
98 >      BorderStyle     =   1  'Fixed Single
99 >      Caption         =   "0"
100        Height          =   255
101 <      Left            =   360
102 <      TabIndex        =   1
103 <      Top             =   360
104 <      Width           =   2895
101 >      Left            =   4920
102 >      TabIndex        =   3
103 >      Top             =   120
104 >      Width           =   615
105     End
106 +   Begin VB.Label Status
107 +      Caption         =   "Status:"
108 +      Height          =   255
109 +      Left            =   120
110 +      TabIndex        =   2
111 +      Top             =   840
112 +      Width           =   5415
113 +   End
114   End
115   Attribute VB_Name = "Form1"
116   Attribute VB_GlobalNameSpace = False
117   Attribute VB_Creatable = False
118   Attribute VB_PredeclaredId = True
119   Attribute VB_Exposed = False
120 + 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
121 + 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
122 +
123 + Dim filterManagerHostname As String
124 + Dim filterManagerTCPPort As Integer
125 +
126   Dim filterHostname As String
127 < Dim filterTCPPort As String
128 < Dim filterUDPPort As String
127 > Dim filterTCPPort As Integer
128 > Dim filterUDPPort As Integer
129 > Dim fileList As String
130 > Dim lastModified As String
131  
132 + Dim UDPUpdateTime As Integer
133 + Dim TCPUpdateTime As Integer
134 +
135   Dim protocolVersion As String
136   Dim connected As Boolean
137   Dim responseNumber As Integer
# Line 130 | Line 139 | Dim responseNumber As Integer
139  
140   Private Sub Command1_Click()
141  
142 +    ' build the contents of the XML packet.
143 +    xml = "<packet></packet>"
144 +
145      ' Use the first winsock control to send a UDP packet.
146 <    Winsock1.RemoteHost = Text3.Text
147 <    Winsock1.RemotePort = Text2.Text
148 <    Winsock1.SendData Text1.Text
146 >    UDPSock.RemoteHost = filterHostname
147 >    UDPSock.RemotePort = filterUDPPort
148 >    UDPSock.SendData xml
149 >    Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent."
150  
151   End Sub
152  
140 Private Sub Command2_Click()
141    
142    ' establish a TCP connection to a machine
143    Winsock2.Close
144    Winsock2.Connect Text3.Text, Text2.Text
153  
146 End Sub
147
154   Private Sub Command3_Click()
155 <    x = MsgBox("not implemented..")
155 >    ' establish a TCP connection to a filter
156 >    TCPSock.Close
157 >    TCPSock.Connect filterHostname, filterTCPPort
158   End Sub
159  
160   Private Sub Form_Load()
161      protocolVersion = "1.1"
162 +      
163 +    Status.Caption = "Loading"
164 +    Form1.Caption = "i-scream Winhost " & protocolVersion
165 +    
166 +    ''''TEMP
167 +    filterManagerHostname = "killigrew.ukc.ac.uk"
168 +    filterManagerTCPPort = 4567
169 +    Reconfigure_Click
170 +    Exit Sub
171 +    ''' ENDTEMP
172 +    
173 +    On Error GoTo iniError
174 +    Dim buf As String * 256
175 +    Dim length As Long
176 +    length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
177 +    filterManagerHostname = Left$(buf, length)
178 +    length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "<no value>", buf, Len(buf), App.Path & "winhost.ini")
179 +    filterManagerTCPPort = Left$(buf, length)
180 +    
181 +    Status.Caption = "Connecting to Filter Manager"
182 +    
183 +    Exit Sub
184 +    
185 + iniError:
186 +    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")
187 +    End
188 +    
189   End Sub
190  
191 < Private Sub Winsock2_Connect()
192 <      
193 <   responseNumber = 0
191 > Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
192 >    x = MsgBox("Are you sure you want to shut down the Winhost?  This will stop your computer sending information to the i-scream Central Monitoring System.", vbYesNo, "i-scream Winhost")
193 >    If x = 7 Then
194 >        Cancel = True
195 >    End If
196 >
197 > End Sub
198 >
199 > Private Sub Hide_Click()
200 >    Form1.Visible = False
201 >    SystemTray.Icon = Val(Form1.Icon)
202 >    SystemTray.Action = 0
203 > End Sub
204 >
205 > Private Sub Reconfigure_Click()
206 >    ' establish a TCP connection to a filtermanager
207 >    connected = False
208 >    TCPSock.Close
209 >    TCPSock.Connect filterManagerHostname, filterManagerTCPPort
210 > End Sub
211 >
212 >
213 >
214 > Private Sub SystemTray_MouseDblClk(ByVal Button As Integer)
215 >
216 >    Form1.Visible = True
217 >    Form1.SetFocus
218 >
219 > End Sub
220 >
221 > Private Sub TCPSock_Connect()
222 >    
223 >    responseNumber = 0
224    
225 <   ' As soon as we are connected to the server, send this.
226 <   Winsock2.SendData "STARTCONFIG" & vbCrLf
225 >    ' Send something as soon as we connect to the server.
226 >    If connected = False Then
227 >        ' contact the FilterManager
228 >        TCPSock.SendData "STARTCONFIG" & vbCrLf
229 >    Else
230 >       ' Contact the Filter
231 >       TCPSock.SendData "HEARTBEAT" & vbCrLf
232 >    End If
233    
234   End Sub
235  
236 < Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
236 > Private Sub TCPSock_DataArrival(ByVal bytesTotal As Long)
237      
238      responseNumber = responseNumber + 1
239      
240      ' Get the line from the server.
241 <    Winsock2.GetData response, vbString, bytesTotal
241 >    TCPSock.GetData response, vbString, bytesTotal
242      
243      ' Remove linefeeds and returns from the line.
244      response = Replace(response, Chr(13), "")
# Line 180 | Line 251 | Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
251          Select Case responseNumber
252              Case 1:
253                  If Not response = "OK" Then GoTo configError
254 <                Winsock2.SendData "LASTMODIFIED" & vbCrLf
254 >                TCPSock.SendData "LASTMODIFIED" & vbCrLf
255              Case 2:
256                  If response = "ERROR" Then GoTo configError
257 <                Winsock2.SendData "FILELIST" & vbCrLf
257 >                lastModified = response
258 >                TCPSock.SendData "FILELIST" & vbCrLf
259              Case 3:
260                  If response = "ERROR" Then GoTo configError
261 <                Winsock2.SendData "UDPUpdateTime" & vbCrLf
261 >                fileList = response
262 >                TCPSock.SendData "UDPUpdateTime" & vbCrLf
263              Case 4:
264                  If response = "ERROR" Then GoTo configError
265 <                Winsock2.SendData "TCPUpdateTime" & vbCrLf
265 >                UDPUpdateTime = response
266 >                TCPSock.SendData "TCPUpdateTime" & vbCrLf
267              Case 5:
268                  If response = "ERROR" Then GoTo configError
269 <                Winsock2.SendData "ENDCONFIG" & vbCrLf
269 >                TCPUpdateTime = response
270 >                TCPSock.SendData "ENDCONFIG" & vbCrLf
271              Case 6:
272                  If Not response = "OK" Then GoTo configError
273 <                Winsock2.SendData "FILTER" & vbCrLf
273 >                TCPSock.SendData "FILTER" & vbCrLf
274              Case 7:
275                  'we got a filter list here.
276                  readTo = 0
# Line 209 | Line 284 | Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
284                  response = Mid(response, readTo + 1, Len(response))
285                  ' get TCP Port number
286                  filterTCPPort = response
287 <                Winsock2.SendData "END" & vbCrLf
287 >                TCPSock.SendData "END" & vbCrLf
288              Case 8:
289                  If Not response = "OK" Then GoTo configError
290                  connected = True
291                  responseNumber = 0
292 <                Winsock2.Close
292 >                TCPSock.Close
293                  Text4.Text = Text4.Text & vbCrLf & "  <closed>"
294 <                x = MsgBox("got config okay")
294 >                Status.Caption = "Configuration successful"
295 >                Label3.Caption = UDPUpdateTime
296 >                Label4.Caption = TCPUpdateTime
297 >                Timer1.Interval = 1000
298          End Select
299      Else
300          ' Perform a heartbeat (1.1)
301          On Error GoTo heartbeatError
302          Select Case responseNumber
303              Case 1:
304 <                
304 >                If Not response = "OK" Then GoTo heartbeatError
305 >                TCPSock.SendData "CONFIG" & vbCrLf
306              Case 2:
307 <                
307 >                If Not response = "OK" Then GoTo heartbeatError
308 >                TCPSock.SendData fileList & vbCrLf
309              Case 3:
310 <                
310 >                If Not response = "OK" Then GoTo heartbeatError
311 >                TCPSock.SendData lastModified & vbCrLf
312              Case 4:
313 <                
313 >                If Not response = "OK" Then GoTo heartbeatError
314 >                TCPSock.SendData "ENDHEARTBEAT" & vbCrLf
315              Case 5:
316 <                
317 <            Case 6:
318 <                
237 <            Case 7:
238 <                
239 <            Case 8:
240 <                
316 >                If Not response = "OK" Then GoTo heartbeatError
317 >                TCPSock.Close
318 >                Status.Caption = "Heartbeat sent successfully."
319          End Select
320      
321      End If
# Line 246 | Line 324 | Private Sub Winsock2_DataArrival(ByVal bytesTotal As L
324      Exit Sub
325      
326   configError:
327 <    x = MsgBox("error doing configuration")
327 >    Status.Caption = "FAILED to get configuration"
328 >    Exit Sub
329   heartbeatError:
330 +    Status.Caption = "Heatbeat FAILED"
331 +    Exit Sub
332 + End Sub
333 +
334 + Private Sub Timer1_Timer()
335 +
336 +    Label3.Caption = Label3.Caption - 1
337 +    Label4.Caption = Label4.Caption - 1
338      
339 +    Status.Caption = ""
340 +    
341 +    If Label3.Caption < 1 Then
342 +        ' build the contents of the XML packet.
343 +        xml = "<packet></packet>"
344 +
345 +        ' Use the first winsock control to send a UDP packet.
346 +        UDPSock.RemoteHost = filterHostname
347 +        UDPSock.RemotePort = filterUDPPort
348 +        UDPSock.SendData xml
349 +        Status.Caption = "UDP packet sent"
350 +        Label3.Caption = UDPUpdateTime
351 +    End If
352 +    
353 +    If Label4.Caption < 1 Then
354 +        ' establish a TCP connection to a filter
355 +        TCPSock.Close
356 +        TCPSock.Connect filterHostname, filterTCPPort
357 +        Label4.Caption = TCPUpdateTime
358 +    End If
359 +
360   End Sub

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines