Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    18

    [Servlet jaw-WS] E' possibile inviare dati dal server ai client?

    Salve a tutti,

    Vi spiego il mio problema in generale:

    Ho una web application utilizzando le jax-ws. Devo implementare un modo per cui i client connessi al web server devono ricevere una frase ( un parametro o una stringa, un qualcosa ) senza che essi facciano alcuna richiesta al web server.
    In pratica ho 2-3 client connessi al web server ed a un certo punto il server genera questa frase che deve dare ai client...

    L' unica soluzione che mi è venuta in mente è utilizzare ajax : il client esegue una richiesta periodicamente per vedere se il server abbia generato la frase.... è possibile evitarlo e far si che il web server invii i dati a tutti i client con cui ha una sessione in quel momento?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da ITobeI Visualizza il messaggio
    Ho una web application utilizzando le jax-ws. Devo implementare un modo per cui i client connessi al web server devono ricevere una frase ( un parametro o una stringa, un qualcosa ) senza che essi facciano alcuna richiesta al web server.
    In pratica ho 2-3 client connessi al web server
    Giusto una premessa: nelle web application classiche dove il client è un "browser" che comunica con il server su HTTP, il client non è mai connesso in modo "permanente" al server. Il client fa una request e il server invia una response. Dopodiché, se il client non fa altre request, il server non "sa" più nulla del client e non avrebbe modo di comunicargli qualcosa. Insomma l'origine del flusso di dati parte sempre e solo dal client.

    Quote Originariamente inviata da ITobeI Visualizza il messaggio
    è possibile evitarlo e far si che il web server invii i dati a tutti i client con cui ha una sessione in quel momento?
    In generale no, vedi premessa fatta sopra. La questione non è la sessione, che serve solo per far capire al server che c'è un legame tra request differenti ... è proprio il protocollo HTTP che è "domanda-risposta" e basta.

    Già da un po' di tempo è stato introdotto lo standard WebSocket (vedi http://en.wikipedia.org/wiki/WebSocket) che permette una interazione differente tra browser e server. Questa è una possibile soluzione ma ... richiede innanzitutto il supporto nel browser e anche sul server.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    18
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Giusto una premessa: nelle web application classiche dove il client è un "browser" che comunica con il server su HTTP, il client non è mai connesso in modo "permanente" al server. Il client fa una request e il server invia una response. Dopodiché, se il client non fa altre request, il server non "sa" più nulla del client e non avrebbe modo di comunicargli qualcosa. Insomma l'origine del flusso di dati parte sempre e solo dal client.


    In generale no, vedi premessa fatta sopra. La questione non è la sessione, che serve solo per far capire al server che c'è un legame tra request differenti ... è proprio il protocollo HTTP che è "domanda-risposta" e basta.

    Già da un po' di tempo è stato introdotto lo standard WebSocket (vedi http://en.wikipedia.org/wiki/WebSocket) che permette una interazione differente tra browser e server. Questa è una possibile soluzione ma ... richiede innanzitutto il supporto nel browser e anche sul server.

    Grazie per la risposta, gentilissimo .
    Quindi l' unico rimedio è quello di richieste periodiche al server da parte del client.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.