[Ayuda] Array en CSocketPlus

Iniciado por VampireLord, 29 Junio 2010, 06:30 AM

0 Miembros y 1 Visitante están viendo este tema.

VampireLord

Bueno, ésto me avergüenza xD, pero supongo que todo programador tiene una duda muy "tonta" cuando planea ponerle a sus aplicaciones un grado de dificultad mayor, he estado experimentando con el CSocketPlus, por que he leído: "No que.. para que te complicas?, si tu troyano es Multiconexión y además inverso, maneja el CSocketPlus wey", así que me metí al tema.. Pero en la ayuda que trae el módulo y la clase, no me dice qué rayos son "arrays", para qué darles un nombre, ni sé lo más importante.. Ponerlo a escucha para aceptar conexiones  :-[
Bueno, lo de aceptar conexiones lo haré con el tutorial de BlackZeroX, aunque supongo que tendré que adaptarlo.. De todas maneras, si alguien me pudiera dar una orientación hacia la misma parte del tema o.. algún link con referencia, se lo agradecería mucho ;D Gracias!!

DJ_MAQUINA

Hola: Si quieres aprender a manejar sockets en VB sin usar dependencias, te recomiendo utilizar directamente la API. En este mismo foro publiqué un tutorial de la API winsock Cliente/Servidor, aunque todavía me falta publicar la 2º parte (servidor).

Si utilizas un módulo hecho por otro, es muy probable que nunca llegues a entenderlo.

Saludos

BlackZeroX


Puedes hacer un test de Conexión y recibo de datos en esta pagina para realizar un test Rápido!¡. ( http://infrangelux.sytes.net/ScanX/ )

Usa este ejemplo:

Código (vb) [Seleccionar]


Option Explicit
Private WithEvents Socket       As CSocketPlus  '   //  Para el Listening

Private Sub Form_Load()
Dim IDS&
    Set Socket = New CSocketPlus
    With Socket
        For IDS& = 0 To 10
            Call .ArrayAdd(IDS&)
        Next
        .LocalPort(0) = 41
        Call .Listen(0)
    End With
End Sub

Private Sub Form_Terminate()
    Set Socket = Nothing
End Sub

Private Sub Socket_CloseSck(ByVal Index As Variant)
    Debug.Print "DESCONECTADO:"; vbTab; Index
End Sub

Private Sub Socket_ConnectionRequest(ByVal Index As Variant, ByVal RequestID As Long)
Dim ThisIDAcept&
Dim Status          As SockState
    With Socket
        Do
            ThisIDAcept& = ThisIDAcept& + 1
            If .ArrayIndexInUse(ThisIDAcept&) Then
                Status = .State(ThisIDAcept&)
                If Status = sckClosed Or Status = sckError Or Status = sckClosing Then
                    Exit Do
                End If
            Else
                'Call .ArrayAdd(AceptConexion&) '   //  DESGRACIADAMENTE NO SE PUEDE AÑADIR XS
                Exit Sub                        '   //  POR ENDE IGNORAMOS ESTA CONEXION
                'Exit Do
            End If
        Loop
        Call .CloseSck(ThisIDAcept&)
        Call .Accept(ThisIDAcept&, RequestID)
    End With
    Debug.Print "ID Socket Aceptado:"; vbTab; ThisIDAcept&
End Sub

Private Sub Socket_DataArrival(ByVal Index As Variant, ByVal bytesTotal As Long)
Dim vData$
    Socket.GetData Index, vData$, vbString
    Debug.Print "("; vData$; ") :-->"; vbTab; vData$
End Sub



Sangriento Infierno Lunar!¡.
The Dark Shadow is my passion.

VampireLord

DJ_MAQUINA; Siempre me ha gustado dificultarme las cosas xD
Ya había leído tu tutorial, muy bueno, pero estaba buscando algo más sofisticado ;)

Zero; Qué decirte? Como en el otro post, eres Dios xD (Claro, si creyeras LOL)