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!!
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
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:
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!¡.
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)