ENTRAR EN EL FOROHACK ANTIGUO (Muchos temas viejos y de menor nivel)
20:49:59 21/10/2019
¿No estas registrado?
Login: Clave:
7 Usuarios en línea: 0 registrados, 7 invitados.
Conéctate y verás los usuarios en línea
Tema: Crear un chat
    Responder
Todos Los Foros -> Visual Basic -> Manuales -> Crear un chat
Autor Mensaje (Ver Versión para Imprimir)
ambu
Aprendiz nivel 1
Arreglando las imágenes

Mensajes: 37
Registrad@:
29/07/2008
Estado: Desconectad@
Ver último Post
Crear un chat

Ola gente,en este tutorial os enseñare a crear un chat con visual basic 6
Recomiendo verlo para los ke estan iniciando en el tema del winsock ya ke este ejemplo les vendra mui bien

Bueno vamos a empezar a programar:


Abrimos dos proyectos,a uno le llamaremos "Cliente" y al otro "Servidor".
En los dos agregamos Microsoft Winsock Control 6.0 (Proyecto/Components/Microsoft Winsock Control 6.0)


Vamos con el Cliente:
Creamos:
-1 Label:En Caption le ponemos "IP".
-1 Label:En Caption le ponemos "Puerto".
-1 TextBox:En Name ponemos "txtip".
-1 TextBox:En Name ponemos "txtport".
-1 CommandButton:En Name ponemos "cmdconnect" y en Caption "Conectar".

Ke kede algo asi:


Seguimos creando...
-1 TextBox:En Name ponemos "txtlog",en Multiline le ponemos True y en ScrollBars ponemos 2 - Vertical.
-1 TextBox:En Name ponemos "txtsend".
-1 CommandButton:En Name ponemos "cmdsend" y en Caption "Enviar"
-1 WinSock:El nombre lo dejamos por defecto "WinSock1".

kedaria algo asi...



Vamos al código:

CITA

Private Sub cmdConnect_Click() 'Intenta conectar con lo ke pusistes en "txtip" y en "txtport".
On Error GoTo ErrSub

      With Winsock1
            .Close
            .RemoteHost = txtIP 'El RemoteHost sera el ke pongamos en el TextBox "txtip".
            .RemotePort = txtPort 'Y el puerto el ke pongamos en "txtport".
            .Connect 'Conectamos...
      End With
Exit Sub
ErrSub:
MsgBox "Error : " & Err.Description, vbCritical 'Si ai algun error nos lo muestra con su descripcion.
End Sub


Private Sub cmdSend_Click()
On Error GoTo ErrSub


      Winsock1.SendData txtSend

      txtLog = txtLog & "Cliente : " & txtSend & vbCrLf 'Muestra en "txtlog" Cliente: seguido de lo ke pusimos en "txtsend".
      txtSend = ""

Exit Sub
ErrSub:
MsgBox "Error : " & Err.Description 'Si hai un error nos lo muestra con su descripcion.
Winsock1_Close 'Cierra la conexion.
End Sub

Private Sub Winsock1_Close()

      Winsock1.Close   'Cierra la conexion.
      txtLog = txtLog & "Desconectado" & vbCrLf 'El "vbCrLf" sirve para seguir en la linea de abajo y no mostrar todo seguido.

End Sub

Private Sub Winsock1_Connect()

txtLog = "Conectado a " & Winsock1.RemoteHostIP & vbCrLf 'Muestra en el "txtlog" Conectado seguido del RemoteHostIP.

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim dat As String
      
      Winsock1.GetData dat, vbString
      txtLog = txtLog & "Servidor : " & dat & vbCrLf 'Muestra en el "txtlog" del cliente Servidor: seguido de los datos ke nos envia el servidor.

End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, _
                                        Description As String, _
                                        ByVal Scode As Long, _
                                        ByVal Source As String, _
                                        ByVal HelpFile As String, _
                                        ByVal HelpContext As Long, _
                                        CancelDisplay As Boolean)

      txtLog = txtLog & "Error : " & Description & vbCrLf 'Si hai algun error nos lo muestra con su descripcion.

      Winsock1_Close
End Sub



Vamos ahora con el Servidor:
Creamos:
-1 Label:En Caption ponemos "Escuchar al puerto".
-1 TextBox:En Name ponemos "txtport".
-1 CommandButton:En Name ponemos "cmdlisten" y en Caption ponemos "Poner a la escucha".

ke kede algo asi...




Seguimos añadiendo...
-1 TextBox:En Name ponemos "txtlog",en Multiline ponemos True y en ScrollBars ponemos 2 - Vertical.
-1 TextBox:En Name ponemos "txtsend".
-1 CommandButton:En Name ponemos "cmdsend" y en Caption ponemos "Enviar".
-1 WinSock:En Name lo dejamos por defecto "WinSock1".

kedaria algo asi...



vamos al codigo

CITA
Private Sub cmdListen_Click() 'Pone a la escucha el puerto ke aveis puesto en "txtport".
On Error GoTo errorSub

      With Winsock1
            .Close
            .LocalPort = txtPort 'El LocalPort sera el ke pongamos en "txtport".
            .Listen 'Lo ponemos a la escucha...
      End With

Exit Sub
errorSub:
MsgBox "Error : " & Err.Description, vbCritical 'Si ai algun error nos lo muestra con su descripcion.
End Sub

Private Sub cmdSend_Click()
On Error GoTo errorSub

      Winsock1.SendData txtSend
      
      txtLog = txtLog & "Servidor : " & txtSend & vbCrLf 'Muestra en "txtlog" Servidor: seguido de lo ke pusimos en "txtsend".
      txtSend = ""

Exit Sub
errorSub:
MsgBox "Error : " & Err.Description 'Si hai un error nos lo muestra con su descripcion.
Winsock1_Close 'Cierra la conexion
End Sub


Private Sub Winsock1_Close()

      Winsock1.Close 'Finaliza la conexion.

      txtLog = txtLog & "Desconectado" & vbCrLf 'El "vbCrLf" sirve para seguir en la linea de abajo y no mostrar todo seguido.

End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
      
      If Winsock1.State <> sckClosed Then
            Winsock1.Close 'Cierra la conexion.
      End If

      Winsock1.Accept requestID 'Acepta la conexion.
      
      txtLog = "Cliente conectado. IP : " & _
                     Winsock1.RemoteHostIP & vbCrLf 'Muestra en "txtlog" Cliente conectado. IP : seguido de la ip ke se conecto.

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dat As String

      Winsock1.GetData dat, vbString
      txtLog = txtLog & "Cliente : " & dat & vbCrLf 'Muestra en el "txtlog" del servidor Cliente: seguido de los datos ke nos envia el cliente.

End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, _
                                        Description As String, _
                                        ByVal Scode As Long, _
                                        ByVal Source As String, _
                                        ByVal HelpFile As String, _
                                        ByVal HelpContext As Long, _
                                        CancelDisplay As Boolean)

      txtLog = txtLog & "Error : " & Description & vbCrLf 'Si hai algun error lo muestra con su descripcion.

      Winsock1_Close

End Sub


Y eso es todo,Abris el servidor le dais a escuchar en el puerto ke kerais i le dais a poner a la escucha,despues abris el cliente i poneis en ip la ip a la ke os kerais conectar i en puerto poneis el mismo ke en el servidor porke sino no se os conectara...y lo ke escrivas en el cliente cuando le des al boton enviar lo muestrará en el servidor y con el servidor igual.

Una imagen del chat en funcionamiento

25/04/2009 06:29:50 
TecnoVirtu
Usuario aficionado
Arreglando las imágenes

Mensajes: 14
Registrad@:
31/01/2008
Estado: Desconectad@
Ir Arriba
RE: Crear un chat

Esto es para crear un cliente IRC o para crear
un server irc?


Saludos!


Mi nuevo blog con 100 visitas!
25/04/2009 22:16:00 
perro777
Aprendiz nivel 2
Arreglando las imágenes

Mensajes: 59
Registrad@:
08/11/2006
Estado: Desconectad@
Ir Arriba
RE: Crear un chat

CITA
Esto es para crear un cliente IRC o para crear
un server irc?


Saludos!


Es para crear un chat de conexion directa, usando un cliente y un servidor.

Y Ambu no piensas colocar la fuente?
26/04/2009 08:52:19 
ambu
Aprendiz nivel 1
Arreglando las imágenes

Mensajes: 37
Registrad@:
29/07/2008
Estado: Desconectad@
Ir Arriba
RE: Crear un chat

klaro man

PERO EL TUTO LO HISE YO

pero komo muestra en la imagen

primero lo habia posteado en esa comunidad!!
28/04/2009 06:31:16 
RevangelyonX
Aprendiz nivel 3

Mensajes: 92
Registrad@:
11/09/2005
Estado: Desconectad@
Ir Arriba
RE: Crear un chat

Muy bueno ;)


29/04/2009 01:40:51 


REGÍSTRATE PARA PODER ENVIAR UN MENSAJE (tardas 20 segundos)

Copyright ForoHack.com