Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Come implementare una estensione CGI?

    Ciao,

    che cos'è un'estensione CGI dal punto di vista del web server?
    Quando il web server riceve la richiesta di un programma cgi in C esegue una chiamata alla funzione system passadogli come parametro il file richiesto? come funziona la cosa?

  2. #2
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Quando il web server riceve una richiesta si deve forkare, quindi aprire una pipe tra i due processi in modo che l'output del figlio venga letto dal padre... Quindi il processo figlio deve eseguire tramite l'execve l'applicazione cgi ed inviare l'output di essa al client...
    Io ho imparato come fare da qui': http://www.lilik.it/~mirko/gapil/gap...#x544-256000II
    Spiega tutto su fifo, sockets etc...
    Se vuoi saperne di piu' su fork, execve etc trovi tutto qui': http://www.lilik.it/~mirko/gapil/gapil.html
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  3. #3
    Quindi il processo figlio deve eseguire tramite l'execve l'applicazione cgi ed inviare l'output di essa al client...
    è questo passaggio che mi interessa. supponiamo che il web server debba gestire una sola richiesta è non ce ne saranno altre. in questo caso non è necessaria la fork. domande:

    1) che cos'è execve?
    2) per inviare l'output al client si può usare stdout?

    tnx
    intanto do un'occhiata ai links

  4. #4
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    In quel link puoi trovare tutto...
    Spiega come forkare un programma ed usare i due processi, spiega cosa sono e come usare le funzioni della famiglia execve, e spiega come creare delle pipe, forkare il programma, far chiudere al padre la pipe in scrittura e collegarlo alla pipe in lettura, e come fare l'opposto col figlio, collegandoli rispettivamente alla stdin e stdout...
    Ci sono anche un bel po' di esempi...

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.