elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:39  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  * [Source+Funcion+vb6] AceptarConeccion (Sencilla funcion)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: * [Source+Funcion+vb6] AceptarConeccion (Sencilla funcion)  (Leído 1,120 veces)
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
* [Source+Funcion+vb6] AceptarConeccion (Sencilla funcion)
« en: 19 Abril 2010, 00:54 »

Publico el tema en respuesta a aceptación de Conexiones Multi-Cliente ( http://foro.elhacker.net/programacion_vb/conexiones_multiples_con_winsock_ayuda-t288193.0.html ).

Es muy sencilla pero a mas de uno les va a servir de algo... es la misma funcion que ocupo para mis proyectos

Que hace?

.............Acepta conexiones en una matrix de Socket's en este caso en particular esta diseñado para cSocketMaster

Con que funciona?

.............cSocketMaster +ctl ( Control de usuario ) donde este seria el que crearia la matrix requerida!¡.

Ventajas?

.............Se ocupan los indices anteriores que se encuentren con algun error o que no esten conectados realmente, es decir reduce el uso de la memoria. Se deben la maxima matrix ya para mas velocidad aun que esto seria modificable dubclaseificando el indice con algun Modulo de clase... pero bueno xP.

Codigo:

Código
 
'
'   /////////////////////////////////////////////////////////////
'   // Autor:   BlackZeroX ( Ortega Avila Miguel Angel )       //
'   //                                                         //
'   // Web:     http://InfrAngeluX.Sytes.Net/                  //
'   //                                                         //
'   //    |-> Pueden Distribuir Este Codigo siempre y cuando   //
'   // no se eliminen los creditos originales de este codigo   //
'   // No importando que sea modificado/editado o engrandesido //
'   // o achicado, si es en base a este codigo es requerido    //
'   // el agradacimiento al autor.                             //
'   /////////////////////////////////////////////////////////////
'
Option Explicit
Private Enum SockState
   sckClosed = 0
   sckOpen
   sckListening
   sckConnectionPending
   sckResolvingHost
   sckHostResolved
   sckConnecting
   sckConnected
   sckClosing
   sckError
End Enum
Public Function IndexSocketCerrado(ByRef Socket As Object) As Integer
Dim Index                   As Integer
Dim SockSt                  As SockState
   IndexSocketCerrado = -1
   For Index = Socket.lbound To Socket.UBound
       With Socket(Index)
           SockSt = .State
           If SockSt = sckClosed Or SockSt = sckListening Or SockSt = sckClosing Then
               'If SockSt = sckClosed Or SockSt = sckListening Or SockSt = sckClosing Or SockSt = sckError Then    '   //  Optativo
               IndexSocketCerrado = Index
               Exit For
           End If
       End With
   Next
End Function
 
Public Function AceptarConexion(ByRef Socket As Object, requestid As Long) As Boolean
Dim SocketIndex             As Integer
   SocketIndex = IndexSocketCerrado(Socket)
   If SocketIndex = -1 Then
       SocketIndex = Socket.UBound + 1
       Load Socket(SocketIndex)
   End If
   Socket(SocketIndex).CloseSck
   Socket(SocketIndex).Accept requestid
End Function
 
 

la llamada:

Código
 
'   //  ---->
'   //  Donde Socket_In es el socket que aceptara la conexion entrante en el Socket_Conexion
'   //  Cabe destacar que Socket_In debera ser una matrix de controles
'   //  ---->
Private Sub Socket_Conexion_ConnectionRequest(Index As Integer, ByVal requestid As Long)
       Call AceptarConexion(Socket_In, requestid)
End Sub
 
 

Descargar cSocketMaster + Ctl (Para manejarlo igual que el winsock de M$)

Código:

http://infrangelux.sytes.net/fileX/?file=/BlackZeroX/Programacion/vb6/CSocketMaster.rar&dir=/BlackZeroX/Programacion/vb6&


Nota: Si se desea usar este codigo para el WinSock de la Ocx de M$ debera editar las las propiedades de CloseSck a Close

Sangriento Infierno Lunar!¡.


« Última modificación: 24 Junio 2010, 01:47 por BlackZeroX▓▓▒▒░░ » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
funcion ITOA
Programación C/C++
mapers 1 2,084 Último mensaje 27 Diciembre 2010, 06:18
por [L]ord [R]NA
FUncion main y Funcion Winmain
Programación C/C++
mapers 1 443 Último mensaje 5 Febrero 2011, 15:44
por oPen syLar
Funcion isdigit
Programación C/C++
mapers 3 858 Último mensaje 17 Marzo 2011, 18:57
por Akai
AddressOf / Tamaño de funcion
Programación Visual Basic
Miseryk 1 401 Último mensaje 10 Mayo 2011, 20:41
por Karcrack
[SOURCE] Letras3D7913 Funcion que crea letras 3D Flasheras
Programación Visual Basic
79137913 1 1,076 Último mensaje 26 Mayo 2011, 02:06
por Edu
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines