Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    [JAVA]comunicazione privata tra client e server

    Il mio client si connette alla perfezione al mio server,vorrei ora però che i due si scambiassero messaggi e comandi.In breve vorrei che il server mandasse una domanda al client e il client rispondesse.Cercando nel forum ho visto molti post che riguardavano le applicazioni client/server ma solo poche parlavano di messaggi scambiati tra il client ed il server all'insaputa dell'utente,in molti post il client riceveva il comando dalla console,comando che spesso veniva inserito proprio dall'utente.Avete link,consigli, documentazioni o ancora meglio esempio a riguardo?Grazie per le risposte!

  2. #2
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    cercando e ricercando ho trovato questo link:

    http://java.sun.com/docs/books/tutor...entServer.html


    inizio a studiarlo se avete altro materiale postate pure

  3. #3
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    si è praticamente quello che volevo fare io,ma vorrei renderlo più semplice possibile,ad una precisa domanda il client risponde un'altra cosa.ma SENZA l'immissione dell'utente nè console varie...
    aiuti?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA]comunicazione privata tra client e server

    Originariamente inviato da energie
    Il mio client si connette alla perfezione al mio server,vorrei ora però che i due si scambiassero messaggi e comandi.
    Beh, devi stabilire un protocollo. Che definisce quando, come e cosa i due host si devono scambiare.
    Potrebbero essere delle semplici stringhe. Il client ad esempio invia una stringa codificata in UTF-8 che termina con un newline e il server risponde in maniera analoga.
    Potresti inviare un pacchetto di N byte fissi con dati tuoi di tipo binario che rappresentano dei comandi. Oppure potresti anche serializzare degli oggetti.

    Senza sapere cosa vuoi realizzare a livello pratico è difficile rispondere. Stabilisci quali sono le tue esigenze, poi progetta un appropriato protocollo di comunicazione che soddisfa i requisiti imposti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    Re: Re: [JAVA]comunicazione privata tra client e server

    Originariamente inviato da andbin
    Beh, devi stabilire un protocollo. Che definisce quando, come e cosa i due host si devono scambiare.
    Potrebbero essere delle semplici stringhe. Il client ad esempio invia una stringa codificata in UTF-8 che termina con un newline e il server risponde in maniera analoga.
    Potresti inviare un pacchetto di N byte fissi con dati tuoi di tipo binario che rappresentano dei comandi. Oppure potresti anche serializzare degli oggetti.

    Senza sapere cosa vuoi realizzare a livello pratico è difficile rispondere. Stabilisci quali sono le tue esigenze, poi progetta un appropriato protocollo di comunicazione che soddisfa i requisiti imposti.
    si l'idea è appunto di ricevere delle frasi con un carattere iniziale speciale ed uno finale,così da capire quando il comando inizia e finisce,ma non ho proprio idea di come mandare questi comandi dal client al server e viceversa...hai qualche esempio semplice?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [JAVA]comunicazione privata tra client e server

    Originariamente inviato da energie
    si l'idea è appunto di ricevere delle frasi con un carattere iniziale speciale ed uno finale,così da capire quando il comando inizia e finisce,ma non ho proprio idea di come mandare questi comandi dal client al server e viceversa...hai qualche esempio semplice?
    Ripeto che dipende da cosa vuoi fare di preciso. Dipende da molti fattori. Ad esempio se intendi usare UDP o TCP. Se il protocollo è di tipo domanda-risposta, cioè il server non fa nulla senza una richiesta del client. Oppure (pensiamo ad una chat) se il server deve comunicare in modo immediato ai client un qualcosa. In tal caso è da studiare in modo radicalmente diverso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    è presente il codice sia del client che del server a questa pagina:

    http://forum.html.it/forum/showthrea...hreadid=976218

    Converrebbe che il client mandasse il primo messaggio appena connesso,appunto ad esempio:

    "We server,mi sono connesso"
    e il server: " Chi sei?!"...e così via

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da energie
    è presente il codice sia del client che del server a questa pagina:

    http://forum.html.it/forum/showthrea...hreadid=976218

    Converrebbe che il client mandasse il primo messaggio appena connesso,appunto ad esempio:

    "We server,mi sono connesso"
    e il server: " Chi sei?!"...e così via
    E poi?? Ripeto che devi studiare bene come deve avvenire la comunicazione. Vuoi realizzare una specie di "chat"? Bene, allora devi prendere in considerazione come avvengono le comunicazioni rispetto ai vari client. Per fare un esempio: se vuoi che il testo inviato al server dal client A, venga ricevuto subito dal client B, allora vedi subito che non è un protocollo domanda-risposta. Presuppone una maggiore asincronicità.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    no no andbin,a me serve solo un protocollo domanda risposta,ti porgo degli esempi:

    il client si annuncia e il server chiede chi è;
    il client comunica il nome del file che sta per mandare,
    il server gli chiede la dimensione,e il client risponde.

    Niente chat,per questo dicevo che l'utente non deve saperne nulla di questi messaggi,sono solo messaggi privati tra il client ed il server che servono per passarsi determinate informazioni.
    Grazie!

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da energie
    no no andbin,a me serve solo un protocollo domanda risposta,ti porgo degli esempi:

    il client si annuncia e il server chiede chi è;
    il client comunica il nome del file che sta per mandare,
    il server gli chiede la dimensione,e il client risponde.

    Niente chat,per questo dicevo che l'utente non deve saperne nulla di questi messaggi,sono solo messaggi privati tra il client ed il server che servono per passarsi determinate informazioni.
    Grazie!
    Ok, supponiamo per il momento un trasferimento del file a senso unico (dal client al server). Il tuo protocollo è troppo vago e inutile. Devi pensare il protocollo più a "basso livello".

    Si potrebbe ipotizzare una sequenza di byte (dal client al server) del genere:

    codice:
     1 byte     N byte      4 byte          N byte
    +------+---- ..... ----+------+-------- ..... --------+
    | lenN | nome del file | lenF | dati binari del file  |
    +------+---- ..... ----+------+-------- ..... --------+
    Il client invia 1 byte (è più che sufficiente) con la lunghezza del nome, poi il nome del file, poi 4 byte con la lunghezza del file, poi lo stream di dati del file.

    Il server cerca inizialmente di leggere 1 byte, quindi una volta letto quello sa quanto leggere per avere il nome, ecc....

    Insomma ti è più chiaro?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.