PDA

Ver la versión completa : Se cierra la conexion VB



RaidMan
09-02-2008, 18:34
Buenas!!

Vereis, estoy creando una aplicacion en VB en plan Cliente/Servidor. El problema es que cada vez que me conecto, el servidor cierra la conexion automaticamente, o eso es lo que dice el cliente.

Os dejo el codigo que tengo, para ver si vosotros veis el error, porque lo que soy yo, no lo veo:D (Se trata del servidor)


Private Sub Command2_Click()
On Error Resume Next
Ws.Close
Ws.LocalPort = Text5.Text
Ws.Listen
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & "Conectando...." & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Sub

------------------------------------------------------------------------

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Ws.Close
Ws.Accept requestID
Text1.Text = "***Se ha conectado, estas listo para jugar??***" & vbCrLf
Text1.Text = Text1.Text & "***Direccion IP:" & Ws.RemoteHostIP & vbCrLf

End Sub
------------------------------------------------------------------------

Private Sub ws_close()
Ws.Close
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & vbCrLf & "*** Conexion cerrada por tu colega***" & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Sub



Esta es la parte de las conexiones, en el Servidor me pone en el text1 "Conectando..."
Intento conectar con un cliente (que he creado) y en el text1 del cliente me sale "Conexion establecida!!" y luego "Conexion cerrada por RaidMan":confused::confused:

Pues nada... ahi os dejo el codigo, y si veis algo raro, decidmelo


Un saludo y gracias por todo

The_chacal
09-02-2008, 19:11
Pues si.. hay cosas raras. No he mirado el código en profundidad, pero el primer fallo que he visto (o creo que es un fallo al menos que tenas los sockets enlazados de alguna manera, cosa que me extraña para lo que estás haciendo), es en:

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Ws.Close
Ws.Accept requestID
Text1.Text = "***Se ha conectado, estas listo para jugar??***" & vbCrLf
Text1.Text = Text1.Text & "***Direccion IP:" & Ws.RemoteHostIP & vbCrLf

End Sub


Según la función el socket se llama Winsock1, pero segun el contenido de la función se llama Ws (supongo que por copiar y pegar). Por tanto o está mal el nombre del socket o estás haciendo una mala referencia hacia el.

De todas formas si al corregir eso, no te funciona pasame el proyecto y lo miraré.

Saludos.

RaidMan
09-02-2008, 19:33
Gracias The Chacal, si, esta parte la copie de otro servidor que hice, y no me habia dado cuenta... jeje
Ahora pruebo a ver si es solo eso:D:D

Un saludo



AJA!! Pues si, era eso jj:D:D

Vaya chorrada, mira que no verlo... tengo que fijarme mas

Muchas gracias Chacal!!

The_chacal
09-02-2008, 21:39
Jeje xD, a todos nos pasa que nos despistamos.

De nada, me alegro de poder ayudar :)

Saludos!