Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Funzioni da Web Server in programma X
Forum - C# / VB.NET - Funzioni da Web Server in programma X

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Snogar (Normal User)
Pro


Messaggi: 141
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 21:08
Martedì, 02/11/2021
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


Snogar ha allegato un file: WebServerSystem.zip (638803 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da Snogar il 02/11/2021 alle 21:09
PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 141
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 10:11
Giovedì, 04/11/2021
Nel caso non è che qualcuno ha info sul passaggio dati HTML tra server e client  .....non ne riesco a venire a capo.

PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 141
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 10:45
Venerdì, 05/11/2021
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 :-|


Snogar ha allegato un file: WebServerSystem.zip (654411 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1023
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 16:39
Venerdì, 05/11/2021
Testo quotato

Postato originariamente da Snogar:
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
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2125
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:08
Venerdì, 05/11/2021
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

Codice sorgente - presumibilmente Plain Text

  1. ' Invia HTML Header al Web Browser
  2.             clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)
  3.  
  4.             ' Invia il Tipo di Contenuto chiesto al Web Browser
  5.             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.


PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 141
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 18:30
Venerdì, 05/11/2021
Salve dottori grazie per l'interessamento.

Testo quotato

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

Codice sorgente - presumibilmente Plain Text

  1. ' Invia HTML Header al Web Browser
  2.             clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)
  3.  
  4.             ' Invia il Tipo di Contenuto chiesto al Web Browser
  5.             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



PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2125
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:05
Venerdì, 05/11/2021
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 https://gist.github.com/define-private-public/d05bc52dd0bed ... )

https://i.ibb.co/YQzy9g1/Cattura.jpg


Tuo progetto

https://i.ibb.co/GsJjbSz/Cattura2.jpg


Non sò che dirti...




PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 141
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 13:57
Sabato, 06/11/2021
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.


Codice sorgente - presumibilmente C# / VB.NET

  1. Client: 192.168.50.137:2352
  2. ClientThread N° 56:412
  3. Richiesta → HTTP:  GET / HTTP/1.1
  4. Host: 192.168.50.137
  5. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
  6. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
  7. Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
  8. Accept-Encoding: gzip, deflate
  9. Connection: keep-alive
  10. Upgrade-Insecure-Requests: 1
  11.  
  12.  
  13. Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\index.html
  14. Risposta ← HTTP:  HTTP/1.1 200 OK
  15. Server: FintoServer
  16. Content-Length: 1404
  17. Content-Type: text/html
  18. Accept-Ranges: bytes
  19.  
  20.  
  21. Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\index.html
  22.  
  23. Client: 192.168.50.137:2353
  24. ClientThread N° 56:706
  25. Richiesta → HTTP:  GET /BaseStyle.css HTTP/1.1
  26. Host: 192.168.50.137
  27. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
  28. Accept: text/css,*/*;q=0.1
  29. Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
  30. Accept-Encoding: gzip, deflate
  31. Connection: keep-alive
  32. Referer: http://192.168.50.137/
  33.  
  34.  
  35. Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\BaseStyle.css
  36. Risposta ← HTTP:  HTTP/1.1 200 OK
  37. Server: FintoServer
  38. Content-Length: 280
  39. Content-Type: text/css
  40. Accept-Ranges: bytes
  41.  
  42.  
  43. Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\BaseStyle.css
  44.  
  45. Client: 192.168.50.137:2354
  46. ClientThread N° 56:723
  47. Richiesta → HTTP:  GET /Modella.jpg HTTP/1.1
  48. Host: 192.168.50.137
  49. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
  50. Accept: image/avif,image/webp,*/*
  51. Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
  52. Accept-Encoding: gzip, deflate
  53. Connection: keep-alive
  54. Referer: http://192.168.50.137/
  55.  
  56.  
  57. Client: 192.168.50.137:2355
  58. Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Modella.jpg
  59. ClientThread N° 56:726
  60. Richiesta → HTTP:  GET /Mondo.jpg HTTP/1.1
  61. Host: 192.168.50.137
  62. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
  63. Accept: image/avif,image/webp,*/*
  64. Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
  65. Accept-Encoding: gzip, deflate
  66. Connection: keep-alive
  67. Referer: http://192.168.50.137/
  68.  
  69.  
  70. Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Mondo.jpg
  71. Risposta ← HTTP:  HTTP/1.1 200 OK
  72. Server: FintoServer
  73. Content-Length: 27120
  74. Content-Type: image/jpeg
  75. Accept-Ranges: bytes
  76.  
  77.  
  78. Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Modella.jpg
  79.  
  80. Risposta ← HTTP:  HTTP/1.1 200 OK
  81. Server: FintoServer
  82. Content-Length: 23358
  83. Content-Type: image/jpeg
  84. Accept-Ranges: bytes
  85.  
  86.  
  87. Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\Mondo.jpg
  88.  
  89. Client: 192.168.50.137:2356
  90. ClientThread N° 56:844
  91. Richiesta → HTTP:  GET /favicon.ico HTTP/1.1
  92. Host: 192.168.50.137
  93. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
  94. Accept: image/avif,image/webp,*/*
  95. Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
  96. Accept-Encoding: gzip, deflate
  97. Connection: keep-alive
  98. Referer: http://192.168.50.137/
  99.  
  100.  
  101. Richiesta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\favicon.ico
  102. Risposta ← HTTP:  HTTP/1.1 200 OK
  103. Server: FintoServer
  104. Content-Length: 1150
  105. Content-Type: image/x-icon
  106. Accept-Ranges: bytes
  107.  
  108.  
  109. Risposta: G:\Documenti\Sorgenti Progetti\WebServerSystem\WebServerSystem\bin\Debug\WWWRoot\favicon.ico



PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 141
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 14:47
Sabato, 06/11/2021
Ecco il nuovo aggiornamento ....ora lo pesca da solo l'indirizzo ipv4 giusto,  ....cmq se vuoi provarlo non utilizzare quello di ridondanza perchè provandolo anche io non funziona ....non so perchè   ....quindi usa direttamente quello che esce visualizzato sulla form.



Snogar ha allegato un file: WebServerSystem.zip (662066 bytes)
Clicca qui per scaricare il file
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo