elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Array en Winsock
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Array en Winsock  (Leído 4,695 veces)
ASSaulting

Desconectado Desconectado

Mensajes: 28


ASSaulting The Eardrum


Ver Perfil
Array en Winsock
« en: 30 Junio 2010, 09:54 am »

Verán, en VB6 era simple, ponías el Index a 0 y se iba sumando...

Os pongo el código que me importa:
Código:
Private Sub sckMain_ConnectionRequest(Index As Integer, ByVal requestID As Long)
On Error Resume Next
TotalIndex = TotalIndex + 1
sckMain(Index).Close
sckMain(Index).Accept requestID
Load sckMain(TotalIndex)
sckMain(TotalIndex).Listen
End Sub
Eso en VB6, que lo que hace es que una vez pida una conexión el servidor, el cliente lo acepte, cargue un nuevo Winsock y lo ponga a la escucha.
Lo utilizo para una aplicación de administración remota.

¿Cómo sería eso en VB.NET??? :huh:


En línea

La frase de la abajo dice la verdad.
La frase de la arriba dice una mentira.
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Array en Winsock
« Respuesta #1 en: 30 Junio 2010, 15:05 pm »

Ahora tenemos dos clases importantes TcpListener (el server) y TcpClient (el cliente :P)

Echale un ojito a esos links..

Saludos


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Array en Winsock
« Respuesta #2 en: 30 Junio 2010, 15:57 pm »

Verán, en VB6 era simple, ponías el Index a 0 y se iba sumando...

En vb6 habian array de controles....
En vb6 no dependias de un framework
En vb6 no te armaba 200 lineas de codigo por un form vacio

y QUE!

En .net se hicieron muchas mejoras y nuevas formas de trabajar, usalas!

Usa como dice danger, TcpClient, o hasta podes usar Socket de System.Net si sos "fana" como yo :xD
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Array en Winsock
« Respuesta #3 en: 30 Junio 2010, 16:46 pm »

Usa como dice danger, TcpClient, o hasta podes usar Socket de System.Net si sos "fana" como yo :xD

Hahaha XD Usa tcpClient Y listener cuando lo que necesites es la data, ya que estas clases te dan un Stream para usarla.

El socket usalo cuando requieras más control ya que te retorna es un buffer.. Saludos
En línea

ASSaulting

Desconectado Desconectado

Mensajes: 28


ASSaulting The Eardrum


Ver Perfil
Re: Array en Winsock
« Respuesta #4 en: 1 Julio 2010, 02:57 am »

A lo que me refiero es a cómo puedo hacer para que cuando se conecte  un cliente (es de conexión inversa) en el servidor se sume el index y para que se pueda conectar más gente y tenerlos en un listview.

En resumen: ¿Cómo puedo hacer para tener por ejemplo a 2 o más clientes en un listview y poder trabajar con ellos al mismo tiempo? Algo así como un troyano de conexión inversa.
En línea

La frase de la abajo dice la verdad.
La frase de la arriba dice una mentira.
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Array en Winsock
« Respuesta #5 en: 1 Julio 2010, 15:00 pm »

Pues te creas un array de TcpClients, y un TcpListener. Pones el listener a escuchar y a aceptar clientes, cada vez que aceptes a auno lo metes en el array.

En el link que te mandé tienen un loop infinito, dentro del loop está esta línea:

Código:
TcpClient client = server.AcceptTcpClient();

La ejecución de código se detiene justo ahí hasta que alguien se conecte y sea aceptado por el Listener, entonces ahi harías algo asi, tomando en cuenta que ya tienes el array creado (yo voy a usar una lista simple):

Código
  1. TcpClient client = server.AcceptTcpClient();
  2. m_myClientArray.Add(client);

Pues eso es todo, también puedes crear un hilo por cada cliente que se conecte, pero eso es cuestión de las necesidades de tu aplicación.

Un saludo
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: Array en Winsock
« Respuesta #6 en: 2 Julio 2010, 05:14 am »

A lo que me refiero es a cómo puedo hacer para que cuando se conecte  un cliente (es de conexión inversa) en el servidor se sume el index y para que se pueda conectar más gente y tenerlos en un listview.

En resumen: ¿Cómo puedo hacer para tener por ejemplo a 2 o más clientes en un listview y poder trabajar con ellos al mismo tiempo? Algo así como un troyano de conexión inversa.

Mira los ejemplos de HttpChannel, los que hay en la red necesitan alguna pequeña modificación pero sirven.
Hace un tiempo probe hacer las conexiones en una LAN de 5 pc's y una netbook donde estaba el server, los clientes se conectaron al mismo tiempo al server sin problemas aunque las pc's donde se ejecutaron tenian AV+firewall instalados como en el caso de ESS 4.X

Las ordenes de prueba del cliente al server deben estar en la DLL (comunmente llamada RemoteObject por muchos).

Se facilita enormemente las conexiones de varios clientes con muy poco codigo.
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines