7 Usuarios en línea: 0 registrados, 7 invitados.
Conéctate y verás los usuarios en línea |
Autor |
Mensaje (Ver Versión para Imprimir)
|
Mensajes: 37
Registrad@: 29/07/2008
Estado: Desconectad@ |
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 | |
Mensajes: 14
Registrad@: 31/01/2008
Estado: Desconectad@ |
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 | |
Mensajes: 59
Registrad@: 08/11/2006
Estado: Desconectad@ |
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 | |
Mensajes: 37
Registrad@: 29/07/2008
Estado: Desconectad@ |
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 | |
Mensajes: 92
Registrad@: 11/09/2005
Estado: Desconectad@ |
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
|