Título: No se puede conectar mi cliente al servidor WINSOCK Publicado por: zetaperu en 28 Abril 2015, 19:38 pm Hola Foro,
Con respecto a la funcionalidad de mi codigo esta realizandolo perfecto, el problema radica al volver ejecutar mi cliente WINSOCK y éste realizar el proceso de conexión al servidor, se supone que mi servidor está ejecutandose esperando la comunicacion o peticion del cliente pero cuando éste vuelve a reconectar el estado del winsock cliente es 6 (conectandose) y por lo tanto la conexión nunca se vuelve a dar. He leido en casos similares y los tiempos de esperas que recomiendan no cambian en nada el estado, agradeceria de antemano una posible solución al mismo. Adjunto parte del código Código: '****Server Private Sub Form_Load() ws_server.Close 'asignamos un puerto ws_server.LocalPort = "8888" 'ponemos a la escucha el puerto asignado ws_server.Listen End Sub Private Sub ws_server_ConnectionRequest(ByVal requestID As Long) 'cuando llegue una petición para conectarse la aceptamos If ws_server.State <> sckClosed Then ws_server.Close ws_server.Accept requestID End Sub Private Sub ws_server_DataArrival(ByVal bytesTotal As Long) 'aqui rebimos los datos que se envían y hacemos un reconocimiento 'así podemos tomar una decision Dim str_datos As String 'el emvío se almacena en una cadena (str_datos) ws_server.GetData str_datos '****Cliente Private Sub cmd_conectar_click() 'antes de conectarme el winsock debe estar cerrado ws_cliente.Close 'me conecto a la pc remota utilizando su ip(la que ponemos en el textbox), x el puerto 8888 ws_cliente.Connect Me.txt_ip, "8888" End Sub Private Sub cmd_enviar_Click() str_ruta_remota = Me.txt_ruta + Me.str_nombre_archivo ws_cliente.SendData "archivo|" & Me.str_ruta_remota & "|" & lng_tamaño_archivo End Sub Private Sub ws_cliente_DataArrival(ByVal bytesTotal As Long) 'cada vez que se reciba algo se almacena en una cadena(str_dato_recibido) Dim str_dato_recibido As String ws_cliente.GetData str_dato_recibido End Sub Título: Re: No se puede conectar mi cliente al servidor WINSOCK Publicado por: Ninfrock en 14 Mayo 2015, 07:30 am Hola
Deberias poner directamente un ws_server.close Código
Aqui debe ser asi ws_server.GetData str_datos, vbString Código
y posible error es que despues de establecer la primera conexion el servidor sigue "conectado" o marca error, entonces no te deja conectarte, deberias colocar un timer que compruebe el estado... saludos |