Visual Basic - Mas de una conexion winsock

Life is soft - evento anual de software empresarial
 
Vista:

Mas de una conexion winsock

Publicado por Sebastian (2 intervenciones) el 06/05/2006 21:47:49
Hola tenia una duda, me dijieron que se puede hacer un chat multiconexion haciendo que cada vez que se conecte alguien se cree un winsock nuevo automaticamente y asi sucesivamente... pero no se como hacerlo, alguien me puede dar una mano? saludos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mas de una conexion winsock

Publicado por Orochi (15 intervenciones) el 09/05/2006 05:16:34
Lo unico que hay que hacer es crear 2 Sockets

El primero es el que va a recibir las conexiones. Una vez que exista una entrada, osea intento de conexion le pasas el requestID al Socket 2

El Socket 2 lo puedes hacer con su propiedad Index establecida y asi cuando intenta entrar una conexion solo cargas el Index que sigue

http://www.codigoplus.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mira estos ejemplos

Publicado por Zoto (55 intervenciones) el 09/05/2006 19:34:24
Hola, Sebastian.

Lo que dice Orochi en su anterior respuesta es totalmente correcto.
Pero para facilitar la comprensión del método usado sería conveniente que analizaras algunos ejemplos.
Aquí te doy algunos links a ellos:

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=42546&lngWId=1

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=51776&lngWId=1

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=8505&lngWId=1

Espero que te sean de mucha ayuda.
Hasta otra,

Zoto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mira estos ejemplos

Publicado por Sebastian (2 intervenciones) el 13/05/2006 16:44:57
Bueno gracias... encontre un codigo en la ayuda que me sirvio bastante tambien;

"Aceptar más de una solicitud de conexión

El servidor básico comentado anteriormente sólo acepta una solicitud de conexión. No obstante, es posible aceptar varias solicitudes de conexión con el mismo control si crea una matriz de controles. En este caso, no necesita cerrar la conexión; basta con crear una nueva instancia del control (estableciendo la propiedad Index) e invocar el método Accept de la nueva instancia.
El código que se muestra a continuación presupone que existe un control Winsock en un formulario llamado sckServer y que su propiedad Index tiene el valor 0, por lo que el control forma parte de una matriz de controles. En la sección Declaraciones se declara una variable intMax a nivel de módulo. En el evento Load del formulario, intMax tiene establecido el valor 0 y la propiedad LocalPort del primer control de la matriz tiene el valor 1001. Después, se invoca el método Listen en el control, convirtiéndolo en el control "que escucha". A medida que llega cada solicitud de conexión, el código comprueba si el índice es 0 (el valor del control "que escucha"). Si es así, este control aumenta la variable intMax y utiliza ese número para crear una nueva instancia del control. Esta instancia se utiliza para aceptar la solicitud de conexión.
Private intMax As Long

Private Sub Form_Load()
intMax = 0
sckServer(0).LocalPort = 1001
sckServer(0).Listen
End Sub

Private Sub sckServer_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load sckServer(intMax)
sckServer(intMax).LocalPort = 0
sckServer(intMax).Accept requestID
Load txtData(intMax)
End If
End Sub"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar