Programación General > Visual Basic 6.0 e inferiores

 Recibir Parametros De Una Aplicacion

<< < (2/4) > >>

Epa:
Buenas.

Mensajes con subclasificacion y SendMessage. O con sockets.

Saludos.

pacegar:
ok, si pudieras explicarnos un poco mejor usando subclasificacion y sendmessage.

Ahora lo estoy haciendo con sockets. Pero tengo un problema

En la Aplicacion A tendo declardo el socket en modo listen y funciona correctamente. Acepta conexiones y optiene los parámetros pasádos (lo estoy probando con un telnet)

El error está en la aplicación B donde intento realizar la conexión y enviar el parámetro. El problema es que despues del CONNECT el STATE del sockets se queda en 6 (Connecting) por eso no puedo enviar nada.

Aplic B.
       
            Winsock1.Protocol = sckTCPProtocol
            Winsock1.RemoteHost = Winsock1.LocalIP
            Winsock1.RemotePort = 1001
            Winsock1.Connect
            a = Winsock1.State ' Aqui se queda en 6 connecting y no en 7 connected
            Winsock1.SendData PARAMETRO
            Winsock1.Close

Epa:
Buenas.


--- Código: Text --- Private Sub Form_Load()  Winsock1.LocalPort = 1001  Winsock1.ListenEnd Sub Private Sub Winsock1_Close() 'si se pierde la coneccion  Winsock1.Close  'cerramos  Winsock1.Listen ' escuchamos nuevos pedidos de coneccionEnd Sub Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)  If Winsock1.State &#60;&#62; sckClosed Then ' si no se cerro la    Winsock1.Close                    ' coneccion anterior    Winsock1.Listen                   ' se cierra, y ecucha  End If    Winsock1.Accept (requestID) 'se acepta la peticion de coneccion  End Sub  
Eso es lo que va en el servidor.
Fijate que los puertos del server y el cliente no pueden ser el mismo.
Y ademas no es bueno usar puertos tan bajos como 1001
ya que de los puertos 1 al 1000 estan reservados para windows y del 1000 al 2000
son los puertos mas comunes de las aplicaciones. si tienes firewall puedes fijarte que no este en uso.

En cuanto a la subclasificacion, se trata de "mandar e "interseptar" mensajes.
Una vez activada la subclasificacion se mandan esos mensajes con la API SensMessage y como mensaje la constante WM_COMMAND y una constante que diga el numero de mensaje, este inventado por ti.

Aqui tienes un ejemplo de esto
Subclasificacion

Espero te sirva la info.

Saludos  :hola:

Epa:
Releyendo el post, me di cuenta q con lo de los sockets te dije cualquier cosa, ya q eso lo tienes.

Si tienes firewall, fijate que este no te detenga la coneccion.
Y puedes intentar conectar con

Winsock1.Connect "127.0.0.1", "8000"

deberia ser lo mismo, pero en una de esas..

Saludos  :hola:

pacegar:
el problema está en que el servidor si acepta la conexión que le envía el cliente, pero este ultimo se queda en state 6 (connectando) y nunca pasa a 7 (conectado) para que pueda enviar datos.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa