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


Tema destacado: Únete al Grupo Steam elhacker.NET

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  Identificación de Sockets
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Identificación de Sockets  (Leído 521 veces)
iaorengo

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Identificación de Sockets
« en: 10 Julio 2011, 05:35 »

Buenas noches a todos :)

Tengo unos problemitas que son como detalles, pero estos detalles no me dejan continuar con mi proyecto. La verdad, agradezco enormemente por lo que me han ayudado hasta acá :)

Espero me puedan ayudar con esto y espero sea lo último también :P


Tengo ya una especie de chat multiconexión con servidor que funciona de 10. En el servidor, cada User que se conecta lo hace con un nick que se agrega a una listbox.
Ej:
Carlitos
Pedrito
Flor
Mica
Tomy

Claramente cada uno fue conectado a un socket diferente, ¿cómo puedo saber qué socket está usando en ese momento cada uno? Es decir, si desde el servidor deseara desconectarlo, ¿cómo se a quién le mando la orden de desconectar? Porque dudo que con winsock1(Pedrito).close funcione :P

Otra duda relacionada es, ¿se puede listar todos los sockets activos y detectar cuáles son y a qué usuario pertenecen?


Bueno, eso es todo por ahora y espero que hasta siempre.
Ya leí algunas guías de Winsock pero casi todas son de MonoConexiones por lo que lo hace inutil. Y las que trataban de multiconexion era básicamente sobre el envio de datos... ninguna hablaba de sockets y su manejo.

Muchas gracias... si sale libero :D


En línea
Tenient101

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: Identificación de Sockets
« Respuesta #1 en: 10 Julio 2011, 07:55 »

Me imagino que estas usando un array de sockets... bien si es asi puedes usar el index de cada evento, por ejemplo el del DataArrival y agregar el index al listbox, mas o menos asi...

Código
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim Nombre As String
Winsock1(Index).GetData Nombre
List1.AddItem Nombre, Index  'Se agrega el nombre y el index del socket a la lista
End Sub

y cuando quieras mandar X dato a X nombre usas el index del listbox

Código
Winsock1(List1.ListIndex).SendData Datos

para saber que sockets estan conectados puedes poner un timer que recorra todos los sockets y comprobar si esta conectados

Código
Private Sub Timer1_Timer()
dim N as long
for N = lbound(Winsock1) to ubound(Winsock1)
       if Winsock1(N).State = 7 then List1.AddItem N  'si esta conectad agregamos solo el index a la lista o haces lo que quieras xP
next
End Sub
 

veras que es muy facil si lo entiendes, salu2  :P


« Última modificación: 10 Julio 2011, 17:56 por Tenient101 » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Identificacion del patillaje de un LCD
Electrónica
...:::SuPrA:::... 0 1,519 Último mensaje 20 Diciembre 2005, 02:15
por ...:::SuPrA:::...
cambiar identificacion
Redes
renato145 0 241 Último mensaje 24 Abril 2006, 23:43
por renato145
Error de identificacion en SMF?
Sugerencias y dudas sobre el Foro
BenRu 3 703 Último mensaje 31 Julio 2006, 17:48
por _Sergi_
Identificacion
Desarrollo Web
brun0 3 490 Último mensaje 8 Julio 2007, 05:54
por дٳŦ٭
[Ayuda]Problema en la identificación de los sockets[Python]
Scripting
Moroso 0 559 Último mensaje 19 Agosto 2010, 22:56
por Moroso
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines