Una vez que hemos leido la introduccion para la comunicacion mediante Winsock y hemos hecho los formularios, ahora solo queda programar los metodos para cada objeto creado.
CLIENTE:
Tengamos siempre en cuenta el formulario
Vamos a programar: Primero debemos hacer doble click en la parte del formulario al que le vamos a crear acciones o abrir su codigo e insertar lo que se detalla mas adelante.
- Boton Command2 “conectar”
Private Sub Command2_Click() 'ASIGNAMOS DATOS DE CONEXION Winsock1.RemoteHost = Text4Text Winsock1.RemotePort = Text3.Text 'CONECTAMOS EL SOCKET Winsock1.Close Winsock1.Connect End Sub |
Primero asignamos los datos de conexion en Text4 a Winsock1.RemoteHost y Text3 a Winsock1.RemotePort, cerramos previamente el socketa para evitar errores y finalmente usamos Connect para hacer la conexion.
- Enviando Datos. Boton Command1 “enviar”
Private Sub Command1_Click() 'ENVIAMOS EL CONTENIDO DE TEXT2 Winsock1.SendData Text2.Text & vbCrLf 'APUNTAMOS AL FINAL DEL CONTENIDO DEL TEXTBOX E 'INSERTAMOS LOS NUEVOS DATOS OBTENIDOS Text1.SelStart = Len(Text1.Text) 'COLOCA EL CURSOR AL FINAL DEL CONTENIDO Text1.Text = Text1.Text & "Cliente>>" & Text2.Text & vbCrLf 'MOSTRAMOS LOS DATOS Text1.SelStart = Len(Text1.Text) 'COLOCA EL CURSOR AL FINAL DEL CONTENIDO 'BORRAMOS TEXT2 Text2.Text = "" End Sub |
Con el metodo SendData enviamos los datos contenidos en Text2 al socket, y este a su vez lo recibira con el metodo GetData (explicado mas adelante). En nuestro Text1 mostraremos el contenido de Text2 y Text2 lo dejaremos en Blanco “” para volver a escribir.
- Recibiendo Datos
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim cadena As String 'VARIABLE PARA GUARDAR DATOS Winsock1.GetData cadena 'APUNTAMOS AL FINAL DEL CONTENIDO DEL TEXTBOX E 'INSERTAMOS DATOS OBTENIDOS Text1.SelStart = Len(Text1.Text) 'COLOCA EL CURSOR AL FINAL DEL CONTENIDO Text1.Text = Text1.Text & "Servidor>>" & cadena 'MOSTRAMOS LOS DATOS Text1.SelStart = Len(Text1.Text) 'COLOCA EL CURSOR AL FINAL DEL CONTENIDO End Sub |
Obtenemos los Datos con GetData y los guardamos en la variable “cadena” del tipo String, finalmente mostramos los datos.
- Desconexion, Boton Command3 “desconectar”
'CIERRA LA CONEXION |
Este es bastante sencillo, solo usamos Close para cerrar el socket y mostramos un mensaje
- Desconexion del Socket
Private Sub Winsock1_Close() |
Este es opcional, ocurre cuando el socket se cierra por el cliente.
Finalmente deberiamos tener todo el codigo y para probar nuestro programa podemos hacer click en el boton Iniciar(boton Play) o desde el menu: Ejecutar > Inciar o Presionar F5