Ho letto alcuni snippet di codice socket Java e ho scoperto che nella comunicazione socket, per inviare messaggi in sequenza, non è necessario separarli a mano, il lo scrittore/lettore streaming fa automaticamente le cose per te. Ecco un esempio:java socket writeUTF() e readUTF()
writer.java
writeUTF("Hello");
writeUTF("World");
reader.java
String a=readUTF(); // a=Hello
String a=readUTF(); // b=World
Ho provato questo snippet di codice e funziona correttamente. Tuttavia, mi chiedo se questo tipo di stile di codifica dovrebbe funzionare correttamente. C'è qualche rischio potenziale di usare il socket stream in sequenza senza separare esplicitamente ogni segmento?
Che cosa si intende per 'separare esplicitamente ciascun segmento' Mina? Non c'è modo in TCP nemmeno di farlo, assumendo che si stia parlando di segmenti TCP reali come da RFC. Per favore chiarisci la tua domanda. – EJP
Bene, di solito aggiungo alcuni caratteri speciali come "###" e li rilevo dal lato del lettore. È piuttosto sciocco ma non ho altri modi. –