|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Mar 2006
Messaggi: 131
|
[java]lettura stream e memorizzazione parametri on the run...
sono un server di rete collegato con un socket su una determinata porta del client,e il client mi invia uno stream di caratteri ascii separati da "\n" dove ogni dato che sta tra tali caratteri è un parametro significativo per svolgere una determinata operazione.
tutto questo per un numero arbitrario di volte,specificato nella primissima parte dello stream. adesso,stavo cercando di trovare un modo per estrarre i dati mano a mano che arrivavano sullo stream,senza dover per forza prima concatenare la stringa e poi andarci a leggere dopo. ad es modificare questo ciclo in modo che ogni volta il che buffer venga letto,prima del "\n" il parametro,mettiamo caso sia proprio una stringa, venga direttamente memorizzato in una variabile: String funzioni = ""; try{ while((letti = is.read(buffer,0,MAXBUF)) != -1) funzioni +=new String(buffer,0,letti); }catch (IOException e) { e.printStackTrace(); return; } grazie mille,spero d'esser stato chiaro |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12103
|
Quote:
non capita tutti i giorni di parlare con un server di rete ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Mar 2006
Messaggi: 131
|
nel caso in cui in questa serie di parametri,l'ultimo di ogni ciclo al posto di una stringa ASCII sia il binario di un file,come faccio a fare arrivare tutto al server in maniera omogenea con una outputstream?...
nel senso,la classe outputstream invia uno stream di bytes,quindi fin qui posso inviare qualsiasi cosa,ma trovo difficoltà nello schematizzare la bufferizzazione sarà una serie di write fino a che non verrà letta una stringa tipo "END" e così anche per le read del server nella ricezione.... es server: while(true){ <leggi stream con readline> <estrai parametri> <estrai binario> if <linea equivale a END> BREAK; } ...suggerimenti/consigli? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:06.