Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: ..::Carlos::.. en Enero 16, 2011, 03:39:15 am

Título: PREGUNTA WINSOCK Y LISTVIEW
Publicado por: ..::Carlos::.. en Enero 16, 2011, 03:39:15 am
hola primero que nada saludos a todos   ;D, mi pregunta es :
por ejemplo tengo un rat multi conexion como hago para enviarle una funcion o paquete de datos a todos los conectados al mismo tiempo
gracias espero su respuesta  ;)
Título: Re:PREGUNTA WINSOCK Y LISTVIEW
Publicado por: LeandroA en Enero 16, 2011, 02:38:43 pm
Tenes que crear un bucle recorriendo todas las conexiones que tenes en el listview, pero antes de pasar a la siguiente conexion tenes que asegurarte de aver enviado todos los datos completos a la primera conexion para eso si es que utilizas el control winsock podes utilizar  el evento Winsock1_SendComplete, o el Winsock1_SendProgress donde tenes que asegurarte que el paquete que enviaste llego completo.

SAludos.
Título: Re:PREGUNTA WINSOCK Y LISTVIEW
Publicado por: ..::Carlos::.. en Enero 16, 2011, 06:08:24 pm
GRACIAS BRO  DEJA VER COMO ME VA ;)
Título: Re:PREGUNTA WINSOCK Y LISTVIEW
Publicado por: ..::Carlos::.. en Marzo 13, 2011, 02:20:07 am
Bro nada que lo logro
 :(
Por ejemplo en tu remote administracion como seria asi
Código: (vb) [Seleccionar]
For i = 0 To FrmMain.ucListView1.Count
            If FrmMain.ucListView1.ItemSelected(i) = id Then
                FrmMain.ucListView1.ItemData(id) = it
                WinSock32.SendData it, "5" & Delimiter & Text1.Text & Delimiter & Text2.Text
            Exit For
        End If
        Next
Título: Re:PREGUNTA WINSOCK Y LISTVIEW
Publicado por: LeandroA en Marzo 13, 2011, 02:14:54 pm
Hola yo estoy agregando una constante para separa cada envio del for

Código: [Seleccionar]
WinSock32.SendData it, "5" & Delimiter & Text1.Text & Delimiter & Text2.Text & END_DATA

y despues para la parte del que recibe uso esto

Código: [Seleccionar]
Public Sub Socket_DataArrival(id As Long, IP As String, Puerto As String, Data As String)
    On Error GoTo ErrHaddle
   
    Dim lRet1       As Long
    Dim lRet2       As Long
    Dim sCommand    As String
    Dim sBuf        As String
    Dim vData()     As String

    m_Data = m_Data & Data

    lRet1 = InStr(m_Data, END_DATA)
   
    If lRet1 Then
   
        sBuf = Left$(m_Data, lRet1 - 1)
        m_Data = Mid$(m_Data, lRet1 + Len(END_DATA))

        lRet2 = InStr(sBuf, Delimiter)
        sCommand = Left$(sBuf, lRet2 - 1)
        sBuf = Mid$(sBuf, lRet2 + 1)

        Select Case sCommand
       
            Case 0
           
            Case 1
           
            Case 2

        End Select
   
        If Len(m_Data) Then
            If InStr(m_Data, END_DATA) Then Call Me.Socket_DataArrival(id, IP, Puerto, vbNullString)
        End If
       
    End If
   
ErrHaddle:
End Sub

despues segun el sCommand haces un Split(sBuf  , Delimiter ) y obtenes los datos separados.