View Single Post
Old 21-04-2006, 17:52   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Cittā: Tra Verona e Mantova
Messaggi: 4553
In Java puoi fare una cosa del genere (se hai il controllo sul ricevente):

Codice:
String testo = qualche testo;
//Codifica il testo in UTF-8
ByteBuffer textData = Charset.forName("utf-8").encode(testo);
//Codifica la lunghezza del testo in byte, formato UTF-8
ByteBuffer data = ByteBuffer.allocate(textData.capacity() + 4);
//Infila i dati in un buffer per la trasmissione
data.putInt(textData.capacity()).put(textData).flip();
//Crea un indirizzo http di connessione
URL address = new URL(indirizzo http ricevente);
//Ottiene la connessione
URLConnection conn = address.openConnection();
//attiva la scrittura di dati lungo la connessione
conn.setDoOutput(true);
//crea un canale per la trasmissione dei dati
WritableByteChannel out = Channels.newChannel(conn.getOutputStream());
//invia i dati lungo il canale
while(data.hasRemaning()) {
    out.write(data);
}
//chiude il canale
out.close();
Il ricevente legge il primo intero e determina quanto sia "grande" il messaggio ricevuto (supponiamo N byte). Poi legge N byte, li decodifica (Charset.forName("utf-8")).decode(byteBuffer)) e ottiene il testo. Ho omesso la gestione delle eccezioni per non complicare la lettura.
PGI-Bis č offline   Rispondi citando il messaggio o parte di esso