Iniciando con Winsock
La verdad estoy empezando a utilizar el winsock y estoy buscando algun ejemplo de manera que me pueda apoyar en el. Ya encontre algunos pero son muy sencillos, cualquier ayuda la agradecere enormemente.
Yo tb estoy empezando, este es un programita que hice, espero que te sirva de algo:
CÓDIGO PARA EL CLIENTE:
Private Sub cmdConectar_Click()
If txtIP.Text = "" Then
MsgBox "Campo 'IP' no válido. " & Chr(13) & "El campo es obligatorio", vbCritical, "Error en campo Enviar"
txtIP.SetFocus
Else
tcpCliente.RemoteHost = txtIP.Text
tcpCliente.Connect
MsgBox "Ya está conectado al equipo " & tcpCliente.RemoteHost & ". " & Chr(13) & "Puede iniciar la conversación.", vbInformation, "Usuario conectado"
'Cambios de diseño.
cmdConectar.Enabled = False
txtIP.Enabled = False
lblIP.Enabled = False
cmdEnviar.Enabled = True
lblEnviar.Enabled = True
txtEnviarTexto.Locked = False
End If
End Sub
Private Sub cmdConsulIP_Click()
Line1.Visible = True
Line2.Visible = True
lblMiIP.Visible = True
lblHost.Visible = True
lblMiIP.Caption = " IP de su ordenador: " & tcpCliente.LocalIP & ""
lblHost.Caption = " Host de su ordenador: " & tcpCliente.LocalHostName & ""
cmdConsulIP.Enabled = False
End Sub
Private Sub cmdEnviar_Click()
'Instrucciones son necesarias para enviar información al servidor.
If txtEnviarTexto.Text = "" Then
MsgBox "Campo 'Enviar' no válido. " & Chr(13) & "El campo es obligatorio", vbCritical, "Error en campo Enviar"
txtEnviarTexto.SetFocus
Else
tcpCliente.SendData (txtEnviarTexto.Text)
txtEnviarTexto.Text = ""
txtEnviarTexto.SetFocus
End If
End Sub
Private Sub cmdSalir_Click()
End
End Sub
Private Sub Form_Load()
cmdEnviar.Enabled = False
lblEnviar.Enabled = False
txtEnviarTexto.Locked = True
tcpCliente.RemotePort = 1001
End Sub
Private Sub lblHost_Click()
Line2.Visible = False
lblHost.Visible = False
cmdConsulIP.Enabled = True
End Sub
Private Sub lblMiIP_Click()
Line1.Visible = False
lblMiIP.Visible = False
cmdConsulIP.Enabled = True
End Sub
'CÓDIGO PARA EL SERVIDOR:
Private Sub cmdCliente_Click()
frmCliente.Show 1
End Sub
Private Sub cmdEscuchar_Click()
cmdCliente.Enabled = True
cmdEscuchar.Enabled = False
tcpServer.Listen
MsgBox "El servidor está esperando la petición de conexión", vbInformation, "A la espera"
End Sub
Private Sub Form_Load()
cmdCliente.Enabled = False
tcpServer.LocalPort = 1001
End Sub
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
'DataArrival: Se produce cuando llegan nuevos datos.
'Este evento es importante, ya que debemos hacer algo con la información que llega.
MsgBox "Los datos del puerto " & tcpServer.RemoteHost & " han llegado al servidor ", vbInformation, "Datos Recibidos"
Dim strDatos As String
tcpServer.GetData strDatos
txtMostrar.Text = txtMostrar.Text + strDatos
frmCliente.txtMostrar = frmCliente.txtMostrar + strDatos
End Sub
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
'ConnectionRequest: Se produce cuando el equipo remoto solicita una conexión.
'Sin este evento no se puede llevar a cabo la conexión.
If tcpServer.State <> sckClosed Then
tcpServer.Close
End If
'Aceptar nueva conexión.
tcpServer.Accept requestID
End Sub
Private Sub cmdConsulIP_Click()
Line1.Visible = True
Line2.Visible = True
lblMiIP.Visible = True
lblHost.Visible = True
lblMiIP.Caption = " IP de su ordenador: " & tcpServer.LocalIP & ""
lblHost.Caption = " Host de su ordenador: " & tcpServer.LocalHostName & ""
cmdConsulIP.Enabled = False
End Sub
Private Sub cmdSalir_Click()
End
End Sub
Private Sub lblHost_Click()
Line2.Visible = False
lblHost.Visible = False
cmdConsulIP.Enabled = True
End Sub
Private Sub lblMiIP_Click()
Line1.Visible = False
lblMiIP.Visible = False
cmdConsulIP.Enabled = True
End Sub
CÓDIGO PARA EL CLIENTE:
Private Sub cmdConectar_Click()
If txtIP.Text = "" Then
MsgBox "Campo 'IP' no válido. " & Chr(13) & "El campo es obligatorio", vbCritical, "Error en campo Enviar"
txtIP.SetFocus
Else
tcpCliente.RemoteHost = txtIP.Text
tcpCliente.Connect
MsgBox "Ya está conectado al equipo " & tcpCliente.RemoteHost & ". " & Chr(13) & "Puede iniciar la conversación.", vbInformation, "Usuario conectado"
'Cambios de diseño.
cmdConectar.Enabled = False
txtIP.Enabled = False
lblIP.Enabled = False
cmdEnviar.Enabled = True
lblEnviar.Enabled = True
txtEnviarTexto.Locked = False
End If
End Sub
Private Sub cmdConsulIP_Click()
Line1.Visible = True
Line2.Visible = True
lblMiIP.Visible = True
lblHost.Visible = True
lblMiIP.Caption = " IP de su ordenador: " & tcpCliente.LocalIP & ""
lblHost.Caption = " Host de su ordenador: " & tcpCliente.LocalHostName & ""
cmdConsulIP.Enabled = False
End Sub
Private Sub cmdEnviar_Click()
'Instrucciones son necesarias para enviar información al servidor.
If txtEnviarTexto.Text = "" Then
MsgBox "Campo 'Enviar' no válido. " & Chr(13) & "El campo es obligatorio", vbCritical, "Error en campo Enviar"
txtEnviarTexto.SetFocus
Else
tcpCliente.SendData (txtEnviarTexto.Text)
txtEnviarTexto.Text = ""
txtEnviarTexto.SetFocus
End If
End Sub
Private Sub cmdSalir_Click()
End
End Sub
Private Sub Form_Load()
cmdEnviar.Enabled = False
lblEnviar.Enabled = False
txtEnviarTexto.Locked = True
tcpCliente.RemotePort = 1001
End Sub
Private Sub lblHost_Click()
Line2.Visible = False
lblHost.Visible = False
cmdConsulIP.Enabled = True
End Sub
Private Sub lblMiIP_Click()
Line1.Visible = False
lblMiIP.Visible = False
cmdConsulIP.Enabled = True
End Sub
'CÓDIGO PARA EL SERVIDOR:
Private Sub cmdCliente_Click()
frmCliente.Show 1
End Sub
Private Sub cmdEscuchar_Click()
cmdCliente.Enabled = True
cmdEscuchar.Enabled = False
tcpServer.Listen
MsgBox "El servidor está esperando la petición de conexión", vbInformation, "A la espera"
End Sub
Private Sub Form_Load()
cmdCliente.Enabled = False
tcpServer.LocalPort = 1001
End Sub
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
'DataArrival: Se produce cuando llegan nuevos datos.
'Este evento es importante, ya que debemos hacer algo con la información que llega.
MsgBox "Los datos del puerto " & tcpServer.RemoteHost & " han llegado al servidor ", vbInformation, "Datos Recibidos"
Dim strDatos As String
tcpServer.GetData strDatos
txtMostrar.Text = txtMostrar.Text + strDatos
frmCliente.txtMostrar = frmCliente.txtMostrar + strDatos
End Sub
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
'ConnectionRequest: Se produce cuando el equipo remoto solicita una conexión.
'Sin este evento no se puede llevar a cabo la conexión.
If tcpServer.State <> sckClosed Then
tcpServer.Close
End If
'Aceptar nueva conexión.
tcpServer.Accept requestID
End Sub
Private Sub cmdConsulIP_Click()
Line1.Visible = True
Line2.Visible = True
lblMiIP.Visible = True
lblHost.Visible = True
lblMiIP.Caption = " IP de su ordenador: " & tcpServer.LocalIP & ""
lblHost.Caption = " Host de su ordenador: " & tcpServer.LocalHostName & ""
cmdConsulIP.Enabled = False
End Sub
Private Sub cmdSalir_Click()
End
End Sub
Private Sub lblHost_Click()
Line2.Visible = False
lblHost.Visible = False
cmdConsulIP.Enabled = True
End Sub
Private Sub lblMiIP_Click()
Line1.Visible = False
lblMiIP.Visible = False
cmdConsulIP.Enabled = True
End Sub
