|
Página 1 de 2
|
Al Final, Creo Que No Es Posible (¡Sí Era Posible!)
Autor |
Mensaje |
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Al Final, Creo Que No Es Posible (¡Sí Era Posible!)
He rehecho el cliente de FTP que subí hace algunos meses. No me gustaba su código ni su aspecto. Aún no está presentable. Sin embargo, hay algo que no consigo hacer y empiezo a pensar que no se puede con Gambas.
Para centrar el tema:
El protocolo FTP utiliza dos puertos para comunicarse: uno para los datos que se transfieren, que puede variar en cada petición, y otro, el 21, para el diálogo entre el cliente y el servidor. Este último se recibe por la salida de errores del shell (stderr). Yo quiero poder verlo en alguna ventana o control de mi programa, pero para eso necesito capturar esa salida de errores... o ese puerto 21.
Lo más que he conseguido es verlo si ejecuto en un terminal:
./miprograma.gambas 2>/tmp/ficherotemporal
Pero eso no es válido, para el ejecutable que monta el paquete de instalación, es decir /usr/bin/miprograma 2>/tmp/ficherotemporal no parece funcionar en las pruebas que he echo. Además no veo cómo puedo estandarizar esa redirección en los iconos del menú que genera el instalador de gambas.
La otra opción, que es interceptar la entrada del puerto 21, pues como que tampoco he sabido/podido hacer que me funcione.
Al final se quedará sin esa funcionalidad, me temo, lo que es lo mismo que dejar el programa a medias...
Creo que es casi la primera vez que me doy por vencido con un programa...
=================== No podemos regresar
última edición por shordi el Sabado, 31 Octobre 2015, 20:31; editado 1 vez
|
#1 Sabado, 03 Octobre 2015, 17:03 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Al Final, Creo Que No Es Posible
Hola amigo shordi,
este tu asunto es muuuy interesante.
Qué es el código con el cual tu capturas los datos por la salida de errores (stderr) ?
|
#2 Sabado, 03 Octobre 2015, 18:06 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Al Final, Creo Que No Es Posible
El titulo...me creía que era otra cosa. Creía que Vuott había vuelto a las andadas.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Sabado, 03 Octobre 2015, 19:05 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Al Final, Creo Que No Es Posible
Creía que Vuott había vuelto a las andadas.
Es decir ?
|
#4 Sabado, 03 Octobre 2015, 19:17 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Al Final, Creo Que No Es Posible
Hola amigo shordi,
este tu asunto es muuuy interesante.
Qué es el código con el cual tu capturas los datos por la salida de errores (stderr) ?
En realidad eso del stderr es algo propio de la shell. Todo proceso tiene tres vías de comunicación :stdin. el 0, stdout el 1 y stderr, el 2. En realidad el 2 no se distingue en nada del 1, salvo que, por convención, los programas lo usan para comunicar los errores y no mezclar la salida "normal".
El protocolo FTP lo utiliza para enviar toda la información del servidor que no sean los ficheros subidos o bajados. Estos se envían a través del puerto 20, si usamos la conexión directa (poco aconsejable por seguridad) o cualquier otro por encima del 1024 que se haya configurado si usamos el modo pasivo. El caso es que al utilizar el cliente FTP de gambas, esa salida por el stderr es conveniente capturarla porque en ella se pueden ver los comandos enviados, los puertos usados, los errores producidos, etc. etc. Si usas Filezilla, tienes la salida del puerto 21 en un recuadro encima de los arboles de ficheros.
El IDE de gambas te lo muestra en la consola de gambas si activas la propiedad Debug del Cliente a cierto. Pero el IDE lo tiene fácil, puesto que es él el que lanza el programa tuyo y puede controlar las entradas y salidas. Sin embargo, no sé cómo capturar la propia salida del stderr producida por mi programa (desde dentro de mi propio programa, claro, que desde una shell es otra cosa: basta con añadir al final 2>fichero para almacenar en ese fichero dicha salida).
He probado casi de todo, pero no conservo el código de las pruebas realizadas, me temo.
Lo que probé sobre capturar el puerto lo saqué del gambas wiki en
http://gambaswiki.org/wiki/doc/network
pero no consegui que funcionase. He pasado el tema a la lista de gambas pero, o mi inglés es tan malo que no me entienden, o simplemente no se puede hacer...
A ver si se te ocurre algo... aunque sea usando una librería externa de esas tuyas
Saludos
=================== No podemos regresar
|
#5 Sabado, 03 Octobre 2015, 19:50 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Al Final, Creo Que No Es Posible
Creía que Vuott había vuelto a las andadas.
Es decir ?
Pues que creía habías creado un post de esos...tan interesantes, pero que no son de programación.
Es que como el titulo no especifica nada concreto. Pues, ¿...que no es posible ?..que un equipo no llegue a ganar la liga...
que nos toque la lotería...que tengamos unas programadoras gamberas que estén de escándalo..las posibilidades eran muchas..
y sin mucha información no podía concretar nada..
Algo cierto...creo que no es posible que Vuott se haga pythonero. Pero eso es algo que se está perdiendo.
Lo que no sé es si escribiendo un titulo aunque sea algo raro y luego una temática bien especificada, se pueda
encontrar los mensajes referentes al cliente ftp de Shordi.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#6 Sabado, 03 Octobre 2015, 21:17 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Al Final, Creo Que No Es Posible
.....El protocolo FTP lo utiliza para enviar .....................
Lo que probé sobre capturar el puerto lo saqué del gambas wiki en
http://gambaswiki.org/wiki/doc/network
pero no consegui que funcionase. He pasado el tema a la lista de gambas pero, o mi inglés es tan malo que no me entienden, o simplemente no se puede hacer...
Muchas palabras que pero no me dan ayuda. No llego a comprender el procedimiento.
Cumplamos un paso a la vez.
Tú me indicaste aquel elance, pero que código usaste ? Puede hacerme un ejemplo abstracto ?
Como tú consigues los datos ? Con Read #.... ? O con que ? Tras haber conseguido los datos - por ejemplo - con Read #..., que haces ?
|
#7 Domingo, 04 Octobre 2015, 00:46 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Al Final, Creo Que No Es Posible
Muchas palabras que pero no me dan ayuda. No llego a comprender el procedimiento.
Cumplamos un paso a la vez.
Tú me indicaste aquel elance, pero que código usaste ? Puede hacerme un ejemplo abstracto ?
Como tú consigues los datos ? Con Read #.... ? O con que ? Tras haber conseguido los datos - por ejemplo - con Read #..., que haces ?
Mmm tienes razón, pero es que no es fácil enviar un proyecto que funcione y que sea simple. Yo lo pruebo dentro del nuevo cliente ftp... vale, probaré a hacer un ejemplo sencillo y luego lo subo.
Saludos.
=================== No podemos regresar
|
#8 Domingo, 04 Octobre 2015, 16:43 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Al Final, Creo Que No Es Posible
Nada. He hecho un pequeño ejemplo, he abierto una cuenta en un servidor FTP anónimo para que se pueda probar... y todo se ha ido al diablo, que esos servidores utilizan otras maneras de manejar las url y demás distintas de el mío... porque es el mío, supongo.
Aparco el tema, que tengo otras prioridades y de momento me basta con cómo funciona para mis programas.
Aparco el tema, digo, pero...
=================== No podemos regresar
última edición por shordi el Domingo, 04 Octobre 2015, 18:35; editado 1 vez
|
#9 Domingo, 04 Octobre 2015, 18:35 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Al Final, Creo Que No Es Posible
última edición por vuott el Domingo, 04 Octobre 2015, 18:59; editado 1 vez
|
#10 Domingo, 04 Octobre 2015, 18:57 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|