Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [Java] Applicazione client-server per scambio immagini: considerazioni generali.

    Ciao,

    mi trovo nella situazione di dover fare un'applicazione client-server con queste caratteristiche:

    - il server acquisisce delle immagini (in questo caso da webcam);
    - il client a intervalli regolari interroga il server per ottenere un'immagine (chiamiamola pure foto).

    Il server dovrà sopportare un carico di uno o due client ala volta, più probabile uno.

    Mi chiedo: quale tecnologia di rete è più opportuno utilizare in questo caso per far viaggiare le immagini da client a server?

    Meglio RMI? Web Services (Magari col supporto e le facilitazioni di Axis)? Altro?

    Grazie, Ciao!

  2. #2

  3. #3
    Ho scritto un'applicazione che fa proprio questo, ora sto implementando anche il motion detection.
    Di solito io uso rmi per trasportare valori come vettori e quant'altro. Uso corba se tali dati vengono trasportati via routing o se il client si trova in una sottorete diversa dal server.
    Nel caso specifico io utilizzo corba per autenticare il client e passargli tutti i dati di cui ha bisogno e un canale tcp per inviargli le immagini. In questo caso il server può sostenere senza problemi un carico di lavoro notevole.

  4. #4
    Anche questa è interessante.

    Però ora mi sto ponendo un problema nuovo, magari stupido in quanto è passato parecchio tempo dall'ultima volta che ho realizzato un lavoro del genere: il prodotto deve essere semplicissimo da utilizzare, l'unico requisito indispensabile sia sulla macchina server che su quella client deve essere la presenza della JVM.

    In quest'ottica qual'è la soluzione migliore?

  5. #5
    Dipende.
    Se il client si accontenta di un'immagine a intervalli regolari è sufficiente preparare una pagina web che esegua il refresh ogni tanto, se il client vuole il live allora serve un programma. Se lo fai in java servirà programma e jvm.

    Ciao ciao.

  6. #6
    No scusa, non mi sono spiegato bene..

    Sia su client che su server io voglio mettere un programma, però vorrei che questi due programmi possano funzionare semplicemente con la JVM, senza bisogno di framework supplementari.

    Tipo se io faccio il server come web service mi servirebbe anche tutto un sistema apposito, tipo Axis per esempio.

    Probabilmente se uso normali socket tutto ciò non mi serve, no?

    ---

    Altra cosa, la tua idea della pagina web con refresh.. come dovrebbe essere fatto il mio server per mettere a disposizione di una pagina web (che sta su un altro web server) le immagini?

  7. #7
    Sul client client è sufficiente la jvm. Installerai tu un programma che l'utente userà per vedersi le telecamere.

    Sul server se devi raccogliere le immagini da una scheda pci oppure da una webcam è necessario oltre la jvm anche Java Media Framework, se invece raccogli le immagini da una telecamera ip axis non serve, è sufficiente la jvm.
    All'inizio avevo preraparo un programma 'desktop' per raccogliere le immagini, ora invece il programma è un servizio del sistema operativo e può essere montato anche su Linux.

    Se comunque devi fornire una soluzione professionale che non hai modo di preparare tu io ho già preparato un sistema che raccoglie video live da telecamere axis e da telecamere collegate ad una scheda pci. Il servizio registra tutto e salva su disco. E' possibile vedere il live usando un programma da installare sul pc del client oppure via internet visitando una pagina web nella quale vi è un'applet. E' possibile anche visualizzare i filmati registrati e scaricarli. Il filmato scaricato è un file flash.
    Ora sto integrando anche il motion detection e la campionatura degli allarmi.

  8. #8
    No, in verità non mi serve nulla di professionale, lo faccio solo per mio diletto, per imparare a fare qualcosa di nuovo..

    L'acquisizione delle immagini da webcam diciamo che è pure un possibile step successivo, ora la cosa che mi interesserebbe di più è capire qual'è la soluzione migliore per far viaggiare delle immagini sulla rete tra un server e uno o più client.

    Col server che spedisce un'immagine nuova ogni tot tempo..


  9. #9
    Ho cambiato un po' registro.. leggendo qua e là ho pensato di realizzare qualcosa di diverso..

    Vorrei fare un server che su richiesta spedisce in streaming un filmato al client.. e vorrei farlo con le socket e l'apposito package java..

    Quello che vorrei è creare un server che rimane in ascolto, quando viene contattato da un client che gli richiede il filmato apre una connessione e inizia a mandare il filmato.. non voglio un server che funziona come una tv che spedisce in continuazione il filmato e quando vuole un client vi si "sintonizza"..

    Ovviamente se il client decide di scollegarsi o casca la connessione il server deve interrompere l'invio dello stream..

    Che ne dite?

    Prima questione.. il server potrebbe venir contattato molto raramente quindi vorrei evitare che questo continui a eseguire un inutile ciclo while.. non potrebbe andare a dormire e essere svegliato da qualche evento?

    Premetto che con le socket proprio nn ci ho mai lavorato e lo scopo di questo lavoro è appunto imparare un po' di cose, quindi se dico boiate abbiate pietà di me..


  10. #10

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