Hola a todo ayer boludiando encontre estos metodos que no tengo la placida idea para que sirven...
Winsock.Item
Winsock.LBound
Winsock.UBound
Winsock.Count
Tambien encontra una funcion nueva que no se para que es
load
por ahora es eso nomas....
Saludo a todo los chicos del Foro y el Equipo de ElHacker.net
KakiNets
Winsock.Count
Mira, este sirve para contar el numero de controles que tienes en la matriz... pa que entiendas, si tienes un cliente por ejemplo com muchas conexiones y las tienes controladas con una matriz de winsock. winsock.count podras manejar todo el numero de conexiones hechas con la matriz del control winsock que tengas creada.
Aqui u ejemplo de un cliente de chat donde lo usan.
Option Explicit
Dim boolServer As Boolean
Private Sub cmdClient_Click()
' Als Client identifizieren und die Möglichkeiten vorgeben
boolServer = False
cmdServer.Enabled = False
cmdClient.Enabled = False
cmdGo.Enabled = True
End Sub
Private Sub cmdGo_Click()
Dim I As Integer
' Loge ich mich gerade ein ?
If cmdGo.Caption = "Go" Then
' Erst mal die Einstellungen eifrieren
txtNick.Enabled = False
txtHostIP.Enabled = False
txtPort.Enabled = False
cmdGo.Caption = "Stop"
' Bin ich Server ?
If boolServer = True Then
WinSock(0).LocalPort = txtPort.Text
WinSock(0).Listen
stBar.SimpleText = "Status: Listening"
Else
WinSock(0).RemotePort = txtPort.Text
WinSock(0).RemoteHost = txtHostIP.Text
WinSock(0).Connect
stBar.SimpleText = "Status: Connecting to " & _
txtHostIP.Text & ":" & txtPort.Text
End If
' Ich logge mich gerade aus
Else
' Bin ich Server ?
If boolServer = True Then
' Erst mal alle Verbindungen schließen und unnötige
' WinSocks entladen
For I = 1 To WinSock.Count - 1
WinSock(I).Close
Unload WinSock(I)
Next I
Else
WinSock(0).Close
End If
' Jetzt wieder alles in den Urzustand versetzen
txtNick.Enabled = True
txtPort.Enabled = True
txtHostIP.Enabled = True
cmdGo.Caption = "Go"
cmdGo.Enabled = False
cmdClient.Enabled = True
cmdServer.Enabled = True
stBar.SimpleText = "Status: Offline"
End If
End Sub
Private Sub cmdSend_Click()
Dim strMessage As String
strMessage = "{" & txtNick.Text & "}:" & rtfSend.Text
' Bin ich Server
If boolServer = True Then
SendMessage strMessage
rftReceive.Text = rftReceive.Text & vbCrLf & strMessage
Else
If WinSock(0).State = 7 Then WinSock(0).SendData strMessage
End If
rtfSend.Text = ""
End Sub
Private Sub cmdServer_Click()
' Erst mal die Buttons ändern
cmdClient.Enabled = False
cmdGo.Enabled = True
cmdServer.Enabled = False
' Jetzt bin ich Server
boolServer = True
End Sub
Private Sub WinSock_Close(Index As Integer)
If Index = "0" Then
stBar.SimpleText = "Status: Offline"
Else
stBar = "Status: Verbunden mit " & WinSock.Count - 1 & " " & _
"Client(s)."
End If
End Sub
Private Sub WinSock_Connect(Index As Integer)
' Jetzt soll man ja wissen, daß man drinnen ist
stBar.SimpleText = "Status: Connected to " & txtHostIP.Text & ":" _
& txtPort.Text
End Sub
Private Sub WinSock_ConnectionRequest(Index As Integer, ByVal _
requestID As Long)
' Ein neues WinSock laden und die Verbindung übernehmen lassen
Dim intZähler As Integer
intZähler = WinSock.Count
Load WinSock(intZähler)
WinSock(intZähler).LocalPort = txtPort.Text
WinSock(intZähler).Accept requestID
stBar.SimpleText = "Status: Verbunden mit " & WinSock.Count - 1 & _
" Client(s)."
End Sub
Private Sub WinSock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim strMessage As String
' Nachricht holen
WinSock(Index).GetData strMessage
' Bin ich der Server? Dann weiterleiten
If boolServer = True Then SendMessage strMessage
' Ich mags auch sehen
rftReceive.Text = rftReceive.Text & vbCrLf & strMessage
End Sub
Private Sub SendMessage(Message As String)
Dim I As Integer
' Weiterleiten an die anderen clients
For I = 1 To WinSock.Count - 1
' Erst mal schauen ob die Verbindung steht
If WinSock(I).State = 7 Then WinSock(I).SendData Message
Next I
End Sub
Private Sub WinSock_Error(Index As Integer, ByVal Number As Integer, _
Description As String, ByVal Scode As Long, ByVal Source As String, _
ByVal HelpFile As String, ByVal HelpContext As Long, _
CancelDisplay As Boolean)
If Index < 0 Then
WinSock(Index).Close
Unload WinSock(Index)
rftReceive.Text = rftReceive.Text & vbCrLf & "{System}: " & _
"Verbindung zu einem Host abgebrochen."
Else
WinSock(Index).Close
rftReceive.Text = rftReceive.Text & vbCrLf & "{System}: Dich " & _
"hats gerade gegrillt."
cmdServer.Enabled = True
cmdClient.Enabled = True
cmdGo.Caption = "Go"
cmdGo.Enabled = False
stBar.SimpleText = "Status: Offline wegen Verbindungsproblem."
End If
Fuente --> Aqui (http://www.activevb.de/tipps/vb6tipps/tipp0379.html)
Saludos, atte skapunky