|
-
Apr 9th, 2001, 02:54 PM
#1
Thread Starter
Lively Member
this is the code for my refresh routine:
Dim sIdx As Integer
Dim Y As Integer
Dim ECHO As ICMP_ECHO_REPLY
Dim strimcap As String
sIdx = frmbrowser.lstservers.ListItems.Count
For Y = 1 To sIdx
lstate:
If frmbrowser.lblstate.Caption = "closed" Then
Set frmbrowser.lstservers.SelectedItem = frmbrowser.lstservers.ListItems.Item(Y)
frmbrowser.picprogressslide.Visible = True
UpdateProgress Y / sIdx, frmbrowser
frmbrowser.lblstatus.Caption = " querying " & frmbrowser.lstservers.SelectedItem.SubItems(1)
ElseIf frmbrowser.lblstate.Caption = "canceled" Then
GoTo lstate1
Else
Pause 0.1
GoTo lstate
End If
frmbrowser.lblstate.Caption = "open"
frmbrowser.lstservers.Enabled = False
Call Ping(Left$(frmbrowser.lstservers.ListItems.Item(Y).SubItems(1), InStr(frmbrowser.lstservers.ListItems.Item(Y).SubItems(1), ":") - 1&), ECHO)
frmbrowser.lstservers.ListItems.Item(Y).SubItems(2) = ECHO.RoundTripTime
strimcap$ = frmbrowser.lstservers.ListItems.Item(Y).SubItems(1)
Let frmbrowser.Winsock1.RemoteHost = Left$(strimcap$, InStr(strimcap$, ":") - 1&)
Let frmbrowser.Winsock1.RemotePort = Right$(strimcap$, Len(strimcap$) - InStr(strimcap$, ":"))
frmbrowser.lstplayers.ListItems.Clear
frmbrowser.lstrules.ListItems.Clear
frmbrowser.Winsock1.Close
frmbrowser.Winsock1.Connect
frmbrowser.Winsock1.SendData "ÿÿÿÿstatus"
Next
lstate1:
If frmbrowser.lblstate.Caption = "closed" Then
frmbrowser.lstservers.Enabled = True
frmbrowser.lstservers.SetFocus
Set frmbrowser.lstservers.SelectedItem = frmbrowser.lstservers.ListItems.Item(1)
StartAndStopProgress frmbrowser
If sIdx < 2 Then
frmbrowser.lblstatus.Caption = " refresh finished. " & sIdx & " server has been queryed."
Else
frmbrowser.lblstatus.Caption = " refresh finished. " & sIdx & " servers has been queryed."
End If
ElseIf frmbrowser.lblstate.Caption = "canceled" Then
frmbrowser.lstservers.Enabled = True
frmbrowser.lstservers.SetFocus
Set frmbrowser.lstservers.SelectedItem = frmbrowser.lstservers.ListItems.Item(1)
StartAndStopProgress frmbrowser
If Y - 2 < 2 Then
frmbrowser.lblstatus.Caption = " refresh canceled. " & Y - 2 & " server has been queryed."
Else
frmbrowser.lblstatus.Caption = " refresh canceled. " & Y - 2 & " servers has been queryed."
End If
frmbrowser.lblstate.Caption = "closed"
Else
Pause 0.1
GoTo lstate1
End If
i'm wondering, how would i be able to make my winsock control timeout waiting for a responce from the server i sent my data to after a certain about of secs and then goto the next value in the For Y = 1 To sIdx part..
-
Apr 11th, 2001, 03:51 AM
#2
Retired VBF Adm1nistrator
Well to do a timeout, execute the Winsock.Connect method, and then also start a timer with a specific interval.
If the winsock control connects, disable the timer. Otherwise, the timer will fire after some time, in which case you know the control didnt connect.
Is this what you're trying to do ?
- jamie
Microsoft MVP : Visual Developer - Visual Basic [2004-2005]
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|