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.1 by pjm2, Thu Feb 22 17:04:22 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 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
138  
139  
140   Private Sub Command1_Click()
141  
142 <    ' Use the first winsock control to send
143 <    ' a UDP packet.
129 <    Winsock1.RemoteHost = Text3.Text
130 <    Winsock1.RemotePort = Text2.Text
131 <    Winsock1.SendData Text1.Text
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 +    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  
153 < Private Sub Command2_Click()
153 >
154 > Private Sub Command3_Click()
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 <    ' establish a TCP connection to a machine
167 <    Winsock2.Close
168 <    Winsock2.Connect Text3.Text, Text2.Text
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 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 Command3_Click()
200 <    x = MsgBox("not implemented..")
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 Winsock2_Connect()
206 <      
207 <   responseNumber = 0
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), "")
245      response = Replace(response, Chr(10), "")
246      Text4.Text = Text4.Text & vbCrLf & response
247      
248 <    ' Decide what to send back to the server.
249 <    Select Case responseNumber
250 <        Case 1:
251 <            Winsock2.SendData "LASTMODIFIED" & vbCrLf
252 <        Case 2:
253 <            Winsock2.SendData "FILELIST" & vbCrLf
254 <        Case 3:
255 <            Winsock2.SendData "UDPUpdateTime" & vbCrLf
256 <        Case 4:
257 <            Winsock2.SendData "TCPUpdateTime" & vbCrLf
258 <        Case 5:
259 <            Winsock2.SendData "ENDCONFIG" & vbCrLf
260 <        Case 6:
261 <            Winsock2.SendData "FILTER" & vbCrLf
262 <        Case 7:
263 <            Winsock2.SendData "END" & vbCrLf
264 <        Case 8:
265 <            Winsock2.Close
266 <            Text4.Text = Text4.Text & vbCrLf & "  <closed>"
267 <    End Select
248 >    If connected = False Then
249 >        ' Perform TCP configuration (1.1)
250 >        On Error GoTo configError
251 >        Select Case responseNumber
252 >            Case 1:
253 >                If Not response = "OK" Then GoTo configError
254 >                TCPSock.SendData "LASTMODIFIED" & vbCrLf
255 >            Case 2:
256 >                If response = "ERROR" Then GoTo configError
257 >                lastModified = response
258 >                TCPSock.SendData "FILELIST" & vbCrLf
259 >            Case 3:
260 >                If response = "ERROR" Then GoTo configError
261 >                fileList = response
262 >                TCPSock.SendData "UDPUpdateTime" & vbCrLf
263 >            Case 4:
264 >                If response = "ERROR" Then GoTo configError
265 >                UDPUpdateTime = response
266 >                TCPSock.SendData "TCPUpdateTime" & vbCrLf
267 >            Case 5:
268 >                If response = "ERROR" Then GoTo configError
269 >                TCPUpdateTime = response
270 >                TCPSock.SendData "ENDCONFIG" & vbCrLf
271 >            Case 6:
272 >                If Not response = "OK" Then GoTo configError
273 >                TCPSock.SendData "FILTER" & vbCrLf
274 >            Case 7:
275 >                'we got a filter list here.
276 >                readTo = 0
277 >                ' get hostname
278 >                readTo = InStr(1, response, ";", vbBinaryCompare)
279 >                filterHostname = Mid(response, 1, readTo - 1)
280 >                response = Mid(response, readTo + 1, Len(response))
281 >                ' get UDP Port number
282 >                readTo = InStr(1, response, ";")
283 >                filterUDPPort = Mid(response, 1, readTo - 1)
284 >                response = Mid(response, readTo + 1, Len(response))
285 >                ' get TCP Port number
286 >                filterTCPPort = response
287 >                TCPSock.SendData "END" & vbCrLf
288 >            Case 8:
289 >                If Not response = "OK" Then GoTo configError
290 >                connected = True
291 >                responseNumber = 0
292 >                TCPSock.Close
293 >                Text4.Text = Text4.Text & vbCrLf & "  <closed>"
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 >                If Not response = "OK" Then GoTo heartbeatError
305 >                TCPSock.SendData "CONFIG" & vbCrLf
306 >            Case 2:
307 >                If Not response = "OK" Then GoTo heartbeatError
308 >                TCPSock.SendData fileList & vbCrLf
309 >            Case 3:
310 >                If Not response = "OK" Then GoTo heartbeatError
311 >                TCPSock.SendData lastModified & vbCrLf
312 >            Case 4:
313 >                If Not response = "OK" Then GoTo heartbeatError
314 >                TCPSock.SendData "ENDHEARTBEAT" & vbCrLf
315 >            Case 5:
316 >                If Not response = "OK" Then GoTo heartbeatError
317 >                TCPSock.Close
318 >                Status.Caption = "Heartbeat sent successfully."
319 >        End Select
320      
321 +    End If
322 +    
323 +    
324 +    Exit Sub
325 +    
326 + configError:
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