Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 25
seoane Va por buen camino
De los mismos creadores de pico llega ...

Pues eso, estos días estoy entretenido con un nuevo juguete, no se si recordáis el micro servidor que colgué por aquí ya hace un año, pico lo llame, pues ahora he intentando hacer algo similar en linux (el pico original no funciona en linux porque wine no implementa todavía la API TransmitFile).

Así que he abierto el gedit, y comencé a escribir código en C. Por ahora llevo unas 500 lineas de código, y ya maneja correctamente el comando Get, puede enviar archivos, mensajes de texto, listar directorios, codificar/descodificar urls y además es multihilo. Faltan por implementar la autentificación, el comando Head y algún método de Timeout a la hora de leer el socket, pero eso ya lo haremos mas adelante si es necesario.

El funcionamiento es sencillo, solo hay que ejecutar pico en un terminal y luego en cualquier navegador utilizar la url http://127.0.0.1:1978/ si es en el mismo equipo o http://tuip:1978/ si es desde otro equipo de tu red. Se puede ejecutar sin usar el terminal, pero entonces el programa permanece oculto y no mostraría ni mensajes, ni errores (si los hubiera). Una vez que accedemos a esa url vemos un listado de todo el sistema de ficheros, aquí es importante recordar que el programa tiene los mismos permisos de lectura que el usuario que lo ejecuta (para mas adelante estoy pensando en utilizar algo como chroot para cambiar el directorio raíz del proceso).

Como siempre, se admiten sugerencias, consejos, criticas (sin pasarse ) pero siempre recordando que se trata de un juguete y no de un servidor serio, yo al menos pienso utilizarlo como venia haciéndolo con su hermano gemelo en windows, para pasar archivos de un ordenador a otro rápidamente y sin tener que andar instalando nada, ni cambiando la configuración de las carpetas compartidas, etc ... un par de clicks y copiando, sin complicarse (muy útil cuando quieres pasar archivos al portátil de un amigo).

Cambios:

- 12/04/2006
  • Primer bug corregido . Solo era un problemilla de zombies ...
- 13/04/2006
  • Ahora si no se realizan peticiones nuevas en 30 segundo la conexión de cierra.
  • Se muestran mas mensajes con información, y se indica a que proceso pertenece.
  • Arreglado un pequeño fallo en la función urldecode
- 15/04/2006
  • Rehice algunas funciones.
  • Ahora el puerto, el timeout y el tamaño de buffer se pueden cambiar desde la linea de comandos.
  • Volvieron los zombies, pero ahora creo que ya los mato bien muertos ...
  • Los mensajes de error http son mas precisos
  • Ya manejo el comando HEAD
- 21/04/2006
  • Pequeñas modificaciones para poder utilizarlo conjuntamente con xinetd ...
Archivos Adjuntos
Tipo de Archivo: zip pico.zip (12,7 KB, 28 visitas)

Última edición por seoane fecha: 21-04-2007 a las 23:45:07.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Propongo una ayuda economica a los creadores y moderadores del Club maravert La Taberna 17 03-01-2007 19:49:22
Llega Internautas Televisión Lepe Noticias 0 05-12-2006 14:50:02
Con urgencia necesito ver los mismos registros.. mateamargo Conexión con bases de datos 5 30-10-2005 17:44:54
Detienen a creadores de Ztob y Rtob Sasuke_Cub Noticias 2 29-08-2005 08:08:54
Metodos que devuelven referencias a sí mismos shaktale OOP 8 07-06-2003 03:04:12


La franja horaria es GMT +2. Ahora son las 12:59:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi