Winsock cliente/servidor

Necesito que me ayude indicando de forma detallada como enlazar varios clientes a un servidor ya sea con winsock o con otro control
Te lo agradeceré mucho.
att.
luiseduardo
[email protected]

1 respuesta

Respuesta
1
Simplemente tienes que crear un proyecto con winsock para el servidor y haciendo un bind a un puerto determinado (el 5005 p.e), luego lo pones a escuchar (listen) y en los eventos de recepción de datos (data arrival ) le pones get data para recibir los datos y manejarlos.
Los clientes simplemente hacen "connect" a la ip y puerto del servidor y una vez conseguida la conexión (lo sabrás por el evento connected) puedes hacer un send (siempre es un tipo string en VB).
De esta forma ya tienes un servidor que escucha y clientes que le envían datos.
Te estoy muy agradecido por tu ayuda y te indico que ya lo realice de esta manera pero solo puedo conectar un cliente, no puedo conectar a otros clientes al mismo tiempo, favor me puedes aclarar más detalladamente.
att.
luiseduardo
Usando un array de winsocks
Dim intConnection As Integer
Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
intConnection = intConnection + 1
' Carga un nuevo winsock para mantener las conexiones
Load Winsock(intConnection)
'Permite la conexión y la mantiene
Winsock(intConnection).Accept requestID
End Sub
Recuerda poner antes a escuchar el primer winsock:
Winsock(0).LocalPort = 5006
Winsock(0). Listen
Y cerrar todas las conexiones...
Disculpa por no haber puntuado y finalizado la pregunta pero se presento un problema al cual le he dedicado todo el tiempo; ahora si tu respuesta me fue de gran utilidad, pero los conecto y envío mensajes, con el inconveniente que se queda activo el ultimo que enlace; como puedo presentar mensajes de los clientes al servidor y del servidor el mismo dato a los clientes al mismo tiempo, si me puedes ayudar te agradeceré mucho.
Solo ten en cuenta que el servidor tiene Winsock(0) escuchando para nuevas conexiones, y a partir de allí (Winsock(1) en adelante) son las conexiones que mantiene con los clientes, que se mantendrán hasta que invoques el método close de Winsock(i) con lo que se liberará la conexión tcp.
Puedes enviar mensajes a todos los clientes recorriendo Winsock(i), donde i es 1 en adelante.
El método es send.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas