Oppure

Loading
02/11/21 20:08
Snogar
Salve, come da titolo stavo cercando di far funzionare un Fasullo web server per poterlo utilizzare in programmi X senza dover installare un vero web server sulla macchina host.

Sembra fungere tutto, il problema è quando inserisco le immagini nella pagina html di prova ....se ne inserisco una tutto ok se invece ne metto una seconda il tutto inizia ad incartarsi ....qualcuno sa spiegarmi il perchè?

Non so magari tra un invio ed un'altro forse dovrei mettere in pausa il processo (ma mi sembra sciocco) oooo c'è qualcosa che viene processato a mia insaputa ....non sò vi posto il progetto nel caso qualcuno voglia svelarmi l'arcano :D
Ultima modifica effettuata da Snogar 02/11/21 20:09
aaa
04/11/21 9:11
Snogar
Nel caso non è che qualcuno ha info sul passaggio dati HTML tra server e client .....non ne riesco a venire a capo.
aaa
05/11/21 9:45
Snogar
Rieccomi con un nuovo entusiasmante aggiornamento! :rofl:

Dunque ho commentato/ripulito/migliorato il codice ma il problema persiste ....mi sono accorto che il problema non è dell'immagine ma della ripetizionedi invii dello stesso tipo di elemento, l'ho capito provando ad inviare due file .css ed ottengo il problema.

Vi lascio il progetto in allegato per chi vuole darci un occhio.

P.s. il forum è ancora attivo o sto parlando da solo :-|
aaa
05/11/21 15:39
Carlo
Postato originariamente da Snogar:
[b]il forum è ancora attivo o sto parlando da solo :-|


Il forum è attivo, il tuo post o ancora non è stato visto, oppure chi l'ha visto non sa rispondere, come me.
in programmazione tutto è permesso
05/11/21 16:08
Thejuster
nono il forum è operativo. :rotfl:

Personalmente, programmo in C#.
Mi riesce difficile interpretare il vb.net

Credo che il problema non stia nella parte server ma nel client.
Anche perché dal zip c'è poco da vedere.

Io, consiglio sempre di usare il debbuger che è una manna da cielo.
Grazie al debugger infatti si trovano gli errori che meno immaginiamo.

così c'è ben poco da capire. tranne vedere un sorgente dove accetta socket.

L'unica parte di cui ho qualche dubbio e questa


' Invia HTML Header al Web Browser
            clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)

            ' Invia il Tipo di Contenuto chiesto al Web Browser
            clientSocket.Send(bytes, 0, LengMax, SocketFlags.None)



Ciò dipende anche da come è impostato il client.
Visto così, Inviando due stream vengono concatenati. Perché non svuoti lo stream.
(Almeno così mi sembra di capire) poi ripeto. Senza sapere il comportamento del client, e senza collegare un Debugger e vedere in quale punto si verifica il problema la vedo dura dare soluzioni così.

Più di spararne una ad occhio, non posso fare.
mire.forumfree.it/ - Mire Engine
C# UI Designer
05/11/21 17:30
Snogar
Salve dottori grazie per l'interessamento.

Postato originariamente da Thejuster:

Credo che il problema non stia nella parte server ma nel client.

L'unica parte di cui ho qualche dubbio e questa


' Invia HTML Header al Web Browser
            clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)

            ' Invia il Tipo di Contenuto chiesto al Web Browser
            clientSocket.Send(bytes, 0, LengMax, SocketFlags.None)



Ciò dipende anche da come è impostato il client.
Visto così, Inviando due stream vengono concatenati. Perché non svuoti lo stream.
(Almeno così mi sembra di capire) poi ripeto. Senza sapere il comportamento del client, e senza collegare un Debugger e vedere in quale punto si verifica il problema la vedo dura dare soluzioni così.

Più di spararne una ad occhio, non posso fare.


Dunque il client che lo utilizza è un normalissimo browser ....io uso firefox per esempio.

E no gli stream non vengono concatenati perchè ad ogni richiesta se ne crea uno che viene consumato dal client e chiuso .....o almeno questa doveva essere la mia intenzione. :D

Cmq per provarlo basta che avvii il software e sulla URL del browser digiti il tuo indirizzo che ti fornisce stesso il software (sulla tua rete dovresti essere in grado di fare richieste anche dal browser del cellulare) ....da li questo inizia a inviarti il fasullo sito web che ho fatto per testarlo.
Quindi vedi tutti i messaggi che si scambia il software con il browser ....eeee come dicevo in precedenza se sulla pagina html attivi più elementi dello stesso tipo (ad esempio io ho inserito due o tre immagini jpg e un paio di .css ...dovrebbero essere commentati quindi li devi attivare per vedere la cosa) allora vedi che i messaggi si iniziano ad accavallare e il browser a sclerare saltando elementi e inserendone alcuni su altri.

Non appena sono al pc vi invio la sequenza di messaggi così magari dovrei risultare più chiaro :_doubt: ...forse :D


aaa
05/11/21 20:05
Thejuster
Ho fatto dei test

Avendo già un webserver installato che uso per diverse cose.
Quindi ho spostato il tuo server alla porta 87 esempio.

Ma anche andando su 127.0.0.1:87 non succede praticamente nulla.
"Host non trovato"

Credo che sia un problema del tuo progetto.


Esempio in C# (git gist.github.com/define-private-public/… )

i.ibb.co/YQzy9g1/…


Tuo progetto

i.ibb.co/GsJjbSz/…


Non sò che dirti...


mire.forumfree.it/ - Mire Engine
C# UI Designer
06/11/21 12:57
Snogar
Dunque dall'immagine che hai postato intuisco che il problema sia la IP .....in effetti io ho messo serverIP(2) che sul mio pc corrisponde ad un indirizzo ipv4 ....mentre sul tuo pc vedo che è un indirizzo ipv6 e questo già non va bene ....credo sia per questo che non risponde. ....è un problema che devo risolvere dovuto ad un nuovo modo di elencare le famiglie di ip .....il vecchio secondo me era migliore ma dice che è deprecatoe non va usato ....eeee vabè troverò un modo per distinguere
gli ipv4 dai 6 per ovviare al problema ....altrimenti dovresti capirlo tu in modo sequenziale mettendo serverIP(1) o serverIP(3) ecc.. finchè non ti visualizza un ipv4 ....il che è stressante e non va bene.

cmq per la cronaca questa è la sequenza di messaggi che arriva dal server quando metto elementi doppi e si incasina.



Client: 192.168.50.137:2352
ClientThread N° 56:412
Richiesta → HTTP:  GET / HTTP/1.1
Host: 192.168.50.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1


Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\index.html
Risposta ← HTTP:  HTTP/1.1 200 OK
Server: FintoServer 
Content-Length: 1404
Content-Type: text/html
Accept-Ranges: bytes


Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\index.html

Client: 192.168.50.137:2353
ClientThread N° 56:706
Richiesta → HTTP:  GET /BaseStyle.css HTTP/1.1
Host: 192.168.50.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/css,*/*;q=0.1
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.50.137/


Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\BaseStyle.css
Risposta ← HTTP:  HTTP/1.1 200 OK
Server: FintoServer 
Content-Length: 280
Content-Type: text/css
Accept-Ranges: bytes


Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\BaseStyle.css

Client: 192.168.50.137:2354
ClientThread N° 56:723
Richiesta → HTTP:  GET /Modella.jpg HTTP/1.1
Host: 192.168.50.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: image/avif,image/webp,*/*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.50.137/


Client: 192.168.50.137:2355
Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Modella.jpg
ClientThread N° 56:726
Richiesta → HTTP:  GET /Mondo.jpg HTTP/1.1
Host: 192.168.50.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: image/avif,image/webp,*/*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.50.137/


Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Mondo.jpg
Risposta ← HTTP:  HTTP/1.1 200 OK
Server: FintoServer 
Content-Length: 27120
Content-Type: image/jpeg
Accept-Ranges: bytes


Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Modella.jpg

Risposta ← HTTP:  HTTP/1.1 200 OK
Server: FintoServer 
Content-Length: 23358
Content-Type: image/jpeg
Accept-Ranges: bytes


Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Mondo.jpg

Client: 192.168.50.137:2356
ClientThread N° 56:844
Richiesta → HTTP:  GET /favicon.ico HTTP/1.1
Host: 192.168.50.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: image/avif,image/webp,*/*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.50.137/


Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\favicon.ico
Risposta ← HTTP:  HTTP/1.1 200 OK
Server: FintoServer 
Content-Length: 1150
Content-Type: image/x-icon
Accept-Ranges: bytes


Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\favicon.ico




aaa