Visual Basic - Problemas con Winsock

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con Winsock

Publicado por Fernando (4 intervenciones) el 01/03/2005 16:08:21
Tengo problemas con el control Winsock, he seguido paso a paso las instrucciones sobre algunas páginas que había encontrado, aparte de ello, también seguí las instrucciones que se encuentran en el ayuda de Visual Basic. El problema que siempre se me presenta es el error "40006" que dice <<Protocolo o estado de conexión para la Transacción o petición solicitada>>

Esta es la codificación del SERVIDOR

Option Explicit

Private Sub CmdEnviar_Click()
Dim Enviar As String
Enviar = Me.Txt2.Text
Me.Winsock1.SendData Enviar '<<<----Error consigo comprender el error
End Sub

Private Sub CmdEscuchar_Click()
Me.Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Me.Winsock1.Close
Me.Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Datos As String
Me.Winsock1.GetData Datos
Me.Txt1.Text = Me.Txt1.Text + Datos
End Sub

Esta es la codificación del CLIENTE

Private Sub CmdConectar_Click()
Me.Winsock1.RemoteHost = Me.TxtIP.Text
Me.Winsock1.Connect
End Sub

Private Sub CmdEnviar_Click()
Dim Enviar As String
Enviar = Me.Text1.Text
Me.Winsock1.SendData Enviar '<<<----Error consigo comprender el error
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Datos As String
Me.Winsock1.GetData Datos
Me.Text1.Text = Me.Text1.Text + Datos
End Sub

Les agrezco de antemano su gentil ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Winsock

Publicado por SADE (323 intervenciones) el 02/03/2005 01:01:23
la conexion no ha sido establecida aun, por eso recibes el error.
espera a que se establesca la conexion o crea un procedimiento que solo envie los datos cuando el socket esta conectado.
suponiendo que tu control winsock se llama MainSocklet....

private sub EnviarDatos(ByRef Data As String)
....If MainSocket.State = sckConnected Then
........Call MainSocket.SendData(Data & vbCrLf)
....End If
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Winsock

Publicado por RE:Problemas con Winsock (4 intervenciones) el 02/03/2005 14:32:10
Bueno, aún no consigo resolver el problema.
Cuanto tiempo tengo que esperar para que se realize la conección?, por que, aún esperando la misma, sale el mismo error.
En la parte del servidor pegué el código que me enviaste y bueno también cambié el nombre del Winsock por MainWinsock, y sigue saliendo el mismo error, copié el mismo código en la parte del Cliente y me sigue saliendo el mismo error.

También hice lo siguiente:

Copié en el

Private Sub CmdEnviar_Click()
Dim Enviar As String
Enviar = Me.Txt2.Text
If MainSocket.State = sckConnected Then
Call MainSocket.SendData(Data & vbCrLf)
End If

comprobé que el sckConnected=6 y que el MainSocket.State=7 ; bueno como sabrás nunca ingresará ha ejecutar el procedimiento.
Te pediría si no fuera mucha molestia que me explicaras esta parte

Private Sub EnviarDatos(ByRef Data As String)
If MainSocket.State = sckConnected Then
Call MainSocket.SendData(Data & vbCrLf)
End If
End Sub
principalmente el de EnviarDatos(ByRef Data As String);
Ah el puerto que utiliza es el 888
Bueno te agradezco por ayudame, deberás te lo agradezco.
Saludos. Fernando.
(-_-)

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Winsock

Publicado por SADE (323 intervenciones) el 03/03/2005 04:18:39
primeramente, se logra establecer una conexion ?
sckConnected = 7
sckConnecting = 6

el control winsock tiene un evento que se ejecuta cuando se establece una conexion. pon algo como msgbox("nos conectamos!!") en el evento Connect del cliente. quizas nunca te logras conectar porque tienes un firewall o no especificaste el puerto o ip correcto, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con Winsock - Muchas Gracias

Publicado por Fernando (4 intervenciones) el 09/03/2005 18:04:30
Bueno, te agradezco muchísimo la ayuda que me brindaste. Ya me funcionó, sólo me faltó un poco de orden en la codificación y la orientación que me diste. De veras te lo agradezco.
(-_-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar