Italian community of Lazarus and Free Pascal
Programmazione => Lazarus e il web => Topic aperto da: xinyiman - Novembre 07, 2018, 09:47:20 am
-
Ciao ragazzi, ho creato una web app con web server integrato (indy 10) per replicare degli errori. Vorrei il vostro parere al riguardo. Cosa c'è di sbagliato?
Io devo leggere una stringa json attraverso una chiamata http e ho provato 3 modi. Il primo funziona, gli altri due no. Ma vorrei capire cosa c'è di diverso. Per me è assurdo. Chi mi può aiutare? Con indy leggere tale stringa genera un errore non sempre replicabile:
HTTP/1.1 200 OK Connection: close Content-Length: 397
Mentre con synapse la versione che mi aspetto funzionare non funziona, mentre quella scritta da me si. Suggerimenti? Allego un esempio
-
servono le dcpcrypt, finito il lavoro le installo e provo
-
Scusa è una dipendenza che ho dimenticato di togliere. Puoi rimuoverle dal progetto.
-
A questo link delle novità
http://forum.lazarus-ide.org/index.php/topic,43129.0.html
ma non ho risolto l'ultimo problema. Su linux e mac dopo essere lanciato se vado nel browser e carico velocemente in successione le pagine si chiude senza dare problema.
-
Ok, ho fatto altri test e ho capito che il problema non è la chiamata GET, il problema è che il server http va in crash quando idhttpserver1.OnCommandGet viene chiamato la seconda volta ma non ha ancora finito di eseguire la prima. Ho modificato il sorgente, se lo aprite vedrete che ora c'è uno sleep(4000); in modo da darvi il tempo di caricare la seconda volta la pagina nel browser. Qualcuno riesce a dirmi cosa c'è di sbagliato? Io non capisco. Dovrebbe essere gestito multithread quindi non dovrebbe capitare. Idee?
-
A fronte di altri test ho capito che il problema sussiste solo se le richieste le faccio dallo stesso pc su cui gira il server http. Se le faccio con un altro computer, o lo smartphone o il tablet il server non va in crash. Idee?
-
Quando ho visto che ti ha risposto Lebeau ho smesso di cercare il problema :-X