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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Servidor web

Bueno, pues voy a poner por aqui otro programita (mas bien un juguete ) que hice para pasar el rato, pero me quedo batante bien. Es un pequeño servidor web, creado usando solo funciones de la API (Winsock). Soporta los comando Get y Head, es multihilo, tiene autentificacion, puede listar el contenido de los directorios, etc ...

No intenta tener una utilidad real, pero puede servir para quienes sientan curiosidad por como funciona un servidor web por dentro. Aunque con algunas modificaciones puede resultar un servidor bastante funcional. Por lo de pronto es pequeño (solo 98 Kb el ejecutable) de ahi su nombre Pico.

Para probarlo solo hay que ejecutarlo y en un navegador poner esta direccion:

http://127.0.0.1:1978/

Eso deberia mostrar el contenido del directorio raiz. El directorio raiz se puede pasar como primer parametro y la constraseña de acceso como segundo parametro, si se dejan en blanco el directorio raiz sera el raiz del disco y no habra contraseña.

Bueno, no se me ocurre mas que decir, pero si veo que interesa el tema podemos hablar mas en pofundidad.
Archivos Adjuntos
Tipo de Archivo: zip Pico.zip (6,6 KB, 812 visitas)
Responder Con Cita
  #2  
Antiguo 26-05-2006
Avatar de Sotrono
Sotrono Sotrono is offline
Miembro
 
Registrado: abr 2004
Ubicación: Buenos Aires - Argentina
Posts: 396
Poder: 21
Sotrono Va por buen camino
Hola, muchas gracias, le estube "pegando una hojeada" y me parece muy bueno.
Al querer compilarlo me tiro un error en la linea 374:

Código Delphi [-]
  // Cerramos conexion
  if Shutdown(FSocket, SD_SEND) <> SOCKET_ERROR then
    repeat until recv(FSocket, buf, sizeof(buf) - 1, 0) <= 0;
  CloseSocket(FSocket);

Me dice que el identificador SD_SEND no esta identificado.
Tengo Delphi 5.

Bytes!!
Responder Con Cita
  #3  
Antiguo 26-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Puede que en esa version de delphi no este definida esa constante, pero eso tiene facil arreglo

SD_SEND = 1;
Responder Con Cita
  #4  
Antiguo 26-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tiene una pinta estupenda para estrujarse un poco el cerebro. Muchas gracias Seoane.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 02-06-2006
PatrickM PatrickM is offline
Miembro
 
Registrado: jun 2006
Posts: 21
Poder: 0
PatrickM Va por buen camino
Muy muy currado, me suena a mis dias de universidad con las prácticas de CASO.

Te comento que con el Indy 9 o 10, se puede hacer rapidamente un Servidor Web en pocas lineas de código, o relativamente pocas. Esta claro que lo que has hecho tu es mucho mas pedagógico, pero que ahí tienes los código fuente del Indy por si lo quieres mirar. Ademas ahora supongo que lo querras ampliar para que soporte mas cosas.

En concreto desarrolle un Servidor Web en Indy para la empresa, que daba soporte para WebServices/SOAP, ISAPI i CGI, ademas de servicio de acceso a una Base de Datos aprovechando el tema de SOAP i el DataSnap de Borland.

Las classes principales eran:

TIdHTTPWebBrokerBridge: esta clase viene con el Indy pero no esta en la paleta. Hereda de un TCustomHTTPServer, es decir un Servidor HTTP comun como el que implementas, y lo modifica para ponerle todo el tema Web bien estructurado.

A partir de este le puedes añadir modulos Web del mismo Delphi TWebModule, aprovechando todo el potencial del WebSnap, como por ejemplo el tema de WebServices/SOAP. Después yo encontre por ahi dos classes que funcionan con el TWebModule.

TCGIRunner: Para ejecutar un CGI dentro de un WebModule (da algun problema que otro)

TISAPIRunner: Para ejecutar una libreria dinamica DLL siguiendo el protocolo de Microsoft. Este funciona mejor que el anterior.


Con todo esto consigues un Web Server bastante completito y totalmente propio, con el permiso de Indy Project y demas, claro esta.

No os puedo poner el código porque es propiedad de la empresa, pero creo que con lo que he dado y el Google se puede hacer sin problemas. De hecho la idea la saque de una página de Borland y algun foro.

saludos y enhorabuena por tu Web Server.
Responder Con Cita
  #6  
Antiguo 02-06-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
PatrickM gracias por tus comentarios. Ya conozco los componentes Indy, los he utilizado en algun proyecto, de echo el componenete idHTTPServer lo utilizaba para generar graficas que luego mostraba en una pagina web. Es indudable que para un proyecto grande y serio son necesarios componetes grandes y serios como Indy.

Pero como ya dije este es un juguetito. En mis ratos libres me gusta experimentar, la idea de este servidor surgio cuando intentaba hacer un troyano (solo por experimentar ), los primeros intentos usando componentes generaban ejecutables inmensos y lo que necesitaba era algo mas simple, asi que me fui a la API, lo cree todo haciendo uso solo de funciones de la API y me quedaron unos troyanitos bastante resultones. Lo malo de las aplicaciones Cliente-Servidor es que tienes que hacer el cliente y el servidor , asi que para ahorrarme trabajo pense en utilizar un navegador como cliente y que mi servidor actuara como un servidor http. Los troyanos cada vez me quedaban mejor, con capturas de pantalla y demas, llevando los ejecutables al minimo eliminando incluso la unit classes y creando los threads a mano. Pero al final ya no resultaba tan divertido y abandone el proyecto, pero me parecio interesande (didactico si prefieres) colocar la parte del servidor web (solo lo basico) en una aplicacion de consola, y mostrar por pantalla las peticiones http.

Saludos
Responder Con Cita
  #7  
Antiguo 02-06-2006
PatrickM PatrickM is offline
Miembro
 
Registrado: jun 2006
Posts: 21
Poder: 0
PatrickM Va por buen camino
.

Ah claro, ahora entiendo porque estaba todo hecho en el DPR a saco sin ninguna Unit!! Ya me parecia raro.
Responder Con Cita
  #8  
Antiguo 01-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Otra vez yo. Pues nada. Que digo que qué estupendo programa, ¿eh? Qué estupenda práctica... qué curioso... cuántas ideas le surgen a uno tras ver que funciona... tras ver sus potenciales aplicaciones... ¡ay! ¡quién estuviera a tu altura Seoane!

PD. Esto lo digo luego de haber revisado un poco más detenidamente a Pico. Cierto que me pierdo no poco (porque de Winsock como que no sé mucho, para qué nos vamos a engañar) pero aún así ha sido un placer.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 01-02-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Caramba dec, me vas a hacer sonrojar

Aprovecho para preguntar una cosa. Me he fijado que hay, a día de hoy, mas descargas del archivo zip (Pico.zip) que visitas a este tema. ¿Como puede ser? ¿lo han enlazado de forma directa? ¿se puede hacer eso?, si esa es la explicación, me gustaría saber quien lo enlazo y por que, solo por curiosidad.
Responder Con Cita
  #10  
Antiguo 01-02-2007
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Eso es una muy buena idea. En estos dias me arme un servidor web especial para sincronizar unas pocket pc con varios sistemas contables y de erp.

Lo hice usando http://www.realthinclient.eu/index.htm que me lo gane haciendole unas pruebas al creador descargando turboexplorer

Me parecio mas comprensible que Indy.

Lo que mas me gusto es que le integre http://mmm-experts.com/Products.aspx?ProductId=3

La parte pesada la hago con Delphi (y el diseño visual) y el codigo de integracion con python (porque como cosa rara a cada cliente maneja un esquema de base de datos diferente!)

De pronto me animo y hago un articulo de eso.

Lo importante es despertar como ha hecho soane, la idea de lo viable que es Delphi como herramienta para cosas interesantes!
__________________
El malabarista.
Responder Con Cita
  #11  
Antiguo 01-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Nada nada. Al César lo que es del César, como suele decirse.

Cita:
Empezado por Seoane
Aprovecho para preguntar una cosa. Me he fijado que hay, a día de hoy, mas descargas del archivo zip (Pico.zip) que visitas a este tema. ¿Como puede ser? ¿lo han enlazado de forma directa? ¿se puede hacer eso?, si esa es la explicación, me gustaría saber quien lo enlazo y por que, solo por curiosidad.
Pues buscando un poco en Google no parece obtenerse mucha información interesante para el caso. No sé. Lo cierto es que a mí me sorprendió también (y a la vez no me sorprendió) el número de visitas al Hilo esta mañana, pero, no me fijé en el número de descargas de Pico. Que sepas que mías hay unas cuantas, y eso que lo tengo guardado por aquí entre otros "ejemplos".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #12  
Antiguo 01-02-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues me ha gustado mucho el código Seoane, lo primero le damos las gracias por ponerlo en el Foro y a si alguien desarrolla alguna idea más a partir del código que la reporte.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #13  
Antiguo 01-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Marcos
Pues me ha gustado mucho el código Seoane, lo primero le damos las gracias por ponerlo en el Foro y a si alguien desarrolla alguna idea más a partir del código que la reporte.
Yo (que se pare el mundo) he pensado (ya puede echar a andar otra vez) en unir a Pico PHP por motivos evidentes: sería excitante. Pero la verdad es que no tengo ni la más remota idea de por dónde podría empezarse a hacer algo así...

PD. Si alguien diera algunas líneas maestras tal vez alguien lo pensara de nuevo...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #14  
Antiguo 01-02-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por seoane
Aprovecho para preguntar una cosa. Me he fijado que hay, a día de hoy, mas descargas del archivo zip (Pico.zip) que visitas a este tema. ¿Como puede ser? ¿lo han enlazado de forma directa? ¿se puede hacer eso?, si esa es la explicación, me gustaría saber quien lo enlazo y por que, solo por curiosidad.
Yo veo más visitas al hilo que al zip. Pensé que si daba click varias veces al zip sin salir del hilo podría aumentar las visitas al zip pero al parecer el vBulletin evita las repeticiones.

¿Los demás siguen viendo más visitas al zip?

// Saludos
Responder Con Cita
  #15  
Antiguo 01-02-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por roman
¿Los demás siguen viendo más visitas al zip?
Ahora ya no, pero hace unas semanas el numero de descargas del zip era mucho mayor que el de visitas. Ahora parece que con las últimas visitas la situación se normalizo. Solo preguntaba por curiosidad, porque me pareció extraño.
Responder Con Cita
  #16  
Antiguo 01-02-2007
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Algo que he visto a pocos hacer es una interface para FastCGI, SCGI y similares.

Un servidor *tan* pequeño tiene dos mercados muy buenos:

- Servidor de contenido estatico. Una excelente manera de aumentar el desempeño de un sitio es servir el contenido estatico (especialmente imagenes, videos, pdfs, etc) con otro servidor.

Lighttpd es el rey en esto

- Interfazar con FastCGI, SCGI y similares. Lighttpd y Mongrel han cogido fuerza en la comunidad de los stacks (Django, turbogears, ruby on rails) porque tiene una carateristica muy buena: Es tan facil como programar CGI, y a la vez no se cargan los interpretes en cada request (una de la razones por las cuales servir contenido estatico con otro servidor web genera tanta ganancia).

Por lo pronto, un servidor de contenido seria genial. Con compresion, seguridad integrada de windows (para manejo de permisos), y poder enviar archivos grandes.

Con eso, ya hay un producto digno del cual hablar!
__________________
El malabarista.
Responder Con Cita
  #17  
Antiguo 12-04-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
Bueno Seoane que mas que decirte que te uniste al grupo de mis ídolos de delphi,
Me lo he descargado, lo he compilado y todo bién, esta muy interesante y fácil de usarlo, me sercirá cuando esta fuera de casa, y poder acceder a mi PC y poder descargar algo, bueno y tambien me sirvió para descubrir que tenía un gusano xDD Uno llamado sxs.exe, uno que se transmite via memórias USB, ya pero lo quite
Con razón no me dejaba abrir mi flash mémory con doble clic, pero ya esta solucionado.

Bueno espero que sigas poniendo códigos así Seoane, la verdad no entiendo mucho , casi nada pues estoy comenzando con delphi, pero en un futuro se que me servirá para tomar un ejemplo de como se hacen ese tipo de aplicaciones, sin mas que decirte FELICITACIONES..

saludos y suerte
Responder Con Cita
  #18  
Antiguo 13-04-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por BlackDaemon
(...)bueno y tambien me sirvió para descubrir que tenía un gusano xDD Uno llamado sxs.exe, uno que se transmite via memórias USB, ya pero lo quite (...)
Me ha picado la curiosidad... ¿Cómo lo doscubriste?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #19  
Antiguo 13-04-2007
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
Estoy Loco? Convocacion al Conocimiento

Apreciados Foristas,
He leido con atencion sun comentarios sobre el tema del servidor web.
Pero mis conocimientos son tan basicos que solo caen en la categoria de sin conocimientos.
Creo que muchas personas que trabajamos en Delphi quedamos preocupados por la tendencia del mercado a que muchas aplicaciones requieren que su cliente sea un browser y vemos que no tenemos la habilidad de efectuarlos con delphi, no se si sea desidia o impotencia por la falta de conocimiento, por eso invito a todos a los companeros foristas que habran un espacio de su tiempo, y obsequien a este club los conocimientos para desarrollar aplicaciones web.
La idea es crear una pequena aplicacion hecha en delphi que permiter efectuar mantenimiento, consultas, envio archivos desde una aplicacion web.
Una plan de un desconocedor del tema seria
1. Menu Aplicacion
2. Login solicitud de usuario contraseña , validacion usuario contra el sistema
3. Manejo de Persistencia del usuario conectado y la formas que esta usando
4. Ejecutar programa de Mantenimiento que conste al menos de 3 formas integradas, por ejemplo:
4.1 Solicitud de Codigo a Mantener o ejecutar busque del codigo a mantener
4.2 Forma de Busque del Codigo a Mantener y retornar el codigo buscado
4.3 Ingreso de DAtos del codigo a Mantener y su validacion sin reeingrear los datos (?ajax en la version 3 del modelo)
5. Generacion de Reporte
6. Envio de datos
7. Un web services

Cada una los puntos de llegar a ser validos deben ser documentados de ser posible con pantalla capturadas y explicacion del codigo
El desarrollo del codigo debe ser para DUMMIS no empezar con el codigo de delphi net, arrancaquemos con cassini para apreander

Espero que mis colegas no consideren esto una irrespeto por aprovecharme de su tiempo lo que realmente pretendo es que los delphianos contemos con una herramienta que nos permita desarrollar software que pueda competir con las aplicaciones hechas en PHP,,,etc . y tener manuales que nos ayuden a tener a delphi como una herramienta competitiva porque encontgramos ejemplos reales y practicos para desarollar aplicaciones y no un ejemplo que no se aplicacable como hola mundo, donde en la vida practica no nos sirve

Última edición por ASAPLTDA fecha: 13-04-2007 a las 17:38:41.
Responder Con Cita
  #20  
Antiguo 14-04-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
Cita:
Empezado por Ñuño Martínez
Me ha picado la curiosidad... ¿Cómo lo doscubriste?
Hola pues como sabes esos gusanos siempre se copian con permisos y ademas invisibles y al arir el explorador pude ver claramente todos los ficheros, no se por que, será por que no respeta si está invisible o no, pero por consola cuando hacía d:\dir /w no me lo listaba hasta que le cambie los permisos al ejecutable..
en fin ya lo he quitado http://www.tekkenbolivia.net ese es mi blog y tambien he echo una app en delphi para quitarlo jejeje si quieren el código lo posteo, estoy usando la función de SEOANE para ejecutar comandos en consola cmd

saludos
Responder Con Cita
Respuesta



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
Servidor FTP bustio Varios 3 06-06-2007 12:21:13
Servidor Ftp JCR Internet 8 08-06-2004 04:24:54
servidor ftp StartKill Varios 1 21-05-2004 20:50:28
Servidor Ftp ? danytorres Internet 6 25-07-2003 14:56:20
Servidor FB en W98 FRANKER Firebird e Interbase 1 05-05-2003 12:22:32


La franja horaria es GMT +2. Ahora son las 00:15:02.


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