Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Richiesta http

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[21] Re: Richiesta http

Messaggioda Foto UtenteGioArca67 » 17 ott 2021, 12:21

Se puoi usare GNU C Compiler (GCC) hai memmem.
Altrimenti, potresti copiarla da loro (il sorgente è disponibile) dipendendo dalle licenze in uso.
Avatar utente
Foto UtenteGioArca67
4.565 4 6 9
Master EY
Master EY
 
Messaggi: 4588
Iscritto il: 12 mar 2021, 9:36

0
voti

[22] Re: Richiesta http

Messaggioda Foto Utentedaniele1996 » 17 ott 2021, 19:00

fairyvilje ha scritto:Non totalmente, c'è un problema legato alla codifica. Aprire un file in lettura modalità testo o modalità binaria ha un impatto sul risultato. Per questo quando si fa una fopen (o equivalente) è necessario specificare.
https://stackoverflow.com/questions/229 ... -text-mode

Ecco, questa è una cosa importante...
L'apertura del file di solito la faccio con w / r (/a), da notare che nella fread il puntatore su cui viene memorizzato il contenuto del file è di tipo void *, quindi non scegliendo la modalità "testo" il contenuto del file dovrebbe essere memorizzato esattamente per come viene letto. Momentaneamente faccio scrivere tutta la "richiesta" dell'upload così per intero in un unico file, nel frattempo esamino il metodo corretto per estrarre il file binario da tutta la richiesta.
alev ha scritto:Poi, se nell'algoritmo prevedi di "parsare" il file, il discorso cambia

Assolutamente no, non deve parsare niente, gli allegati possono essere anche file binari eseguibili, solo che il browser formula la richiesta inserendo all'inizio e alla fine del file e quindi il file "vero e proprio" va tirato fuori da queste intestazioni... Solo questo deve fare il webserver.
DonJ ha scritto:Scusa se insisto, ma come IPC puoi usare semplicemente delle named pipes come coda di messaggi tra processi, non c'e` bisogno di condividere la stessa memoria o scrivere file su disco.
Puoi avere uno dei frameworks precotti che scrive sulla pipe e un programma in qualunque linguaggio che legge dalla stessa. Ti togli tutto l'overhead di scrivere la parte funzionale di HTTP. Fai molto prima che riscrivere l'implementazione in C.
https://opensource.com/article/19/4/int ... x-channels

No, usando le pipes e le code di messaggi si deve prevedere un'interfaccia "client/server" basata appunto su queste due ipc, i programmi che devo integrare devono usare le shared memory perché contengono una gran quantità di dati che possono variare da un momento all'altro, ovviamente le varia il programma, il webserver li legge solo e nel caso una richiesta indica di modificare un valore deve essere prevista una parte che modifica in modo sicuro il valore senza possibilità di creare "valori sconosciuti".
DonJ ha scritto:Se questo non e` un esercizio che ti stai imponendo per approfondire la tua conoscenza o un esame

Si, mi sto anche preparando all'esame di sistemi operativi, e mi serve anche come esercizio oltre all'utilità che ne avrebbe per me...
DonJ ha scritto:
fairyvilje ha scritto:Si, lo sto trovando molto gradevole anche per applicazioni embedded su processori ARM o ATMEL.

Esistono compilatori Rust per ARM? Non lo sapevo! Dovro` approfondire :)

Mai sentito, per ora mi limito al compilatore standard di linux per una questione di "compatibilità colloquiale".
Avatar utente
Foto Utentedaniele1996
610 3 8 11
Sostenitore
Sostenitore
 
Messaggi: 1554
Iscritto il: 29 ago 2011, 11:29

0
voti

[23] Re: Richiesta http

Messaggioda Foto UtentedrGremi » 17 ott 2021, 19:13

daniele1996 ha scritto:programmi che devo integrare devono usare le shared memory perché contengono una gran quantità di dati che possono variare da un momento all'altro, ovviamente le varia il programma

FastCGI? Insomma, a parte per esercizio non scriverei nel 2021 un web server in C.
Avatar utente
Foto UtentedrGremi
2.294 3 5 9
Master EY
Master EY
 
Messaggi: 1455
Iscritto il: 20 nov 2019, 19:49

0
voti

[24] Re: Richiesta http

Messaggioda Foto Utentedaniele1996 » 3 apr 2022, 18:24

Presentato come elaborato all'esame di sistemi operativi, il programma è ancora in fase di sviluppo e già posso fare parecchie cose... sto sviluppando un impianto di domotica, e mi serve un micro server, e con un raspberry ho risolto il problema... il programma funziona bene ovunque e a mio parere è leggerissimo, le pagine se il modello preimpostato è strutturato bene, la composizione dinamica può richiedere pochissimo tempo...

Vi mando qualche screen, spero vi piaccia, appena ho qualcosa in più faccio un post :)
Allegati
Istantanea_2022-04-03_18-21-36.png
Istantanea_2021-11-17_19-36-50.png
Avatar utente
Foto Utentedaniele1996
610 3 8 11
Sostenitore
Sostenitore
 
Messaggi: 1554
Iscritto il: 29 ago 2011, 11:29

0
voti

[25] Re: Richiesta http

Messaggioda Foto Utentedaniele1996 » 3 apr 2022, 18:46

Stavo pensando una cosa, usando la realloc forse si potrebbe ricevere il file. Facendo riferimento al campo Content-Lenght si può calcolare di quanto estendere la memoria.Va calcolato il punto finale dove continuare a riempire buffer e si può reiterare fino alla ricezione completa del blocco dati. l'analisi del contenuto ricevuto va attenzionato diversamente.
Avatar utente
Foto Utentedaniele1996
610 3 8 11
Sostenitore
Sostenitore
 
Messaggi: 1554
Iscritto il: 29 ago 2011, 11:29

Precedente

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti