Hai ca s'ar putea sa ne intelegem , dar eu trimite datele din
C .

Codul este urmatorul :
if (send(k,init,sizeof(init),0)==-1) { perror("send");} // e un for care trimite cand e nevoie .. stringul init .
k - este socketul destinarului .
Faza este ca atunci cand le primesc in Java : pe codul urmator :
String line;
is = new BufferedReader(new InputStreamReader(clientSocket1.getInputStream()));
for (;;) { // loop de primire date ..
line = clientSocket1.readLine()
}
Primul String mi'l afiseaza frumos , urmatoarele le afiseaza cu o gramada de patratele inainte de string'ul propiu'zis.
Chestia e ca daca fac ceva de genu : ( daca bag instantierea
is in for (
loop for ).
String line;
for(;;){ // loop for
is = new BufferedReader(new InputStreamReader(clientSocket1.getInputStream()));
line=clientSocket1.readLine();
}
Primesc bine datele , insa tot ce am trimis din C ( intr'o structura repetitiva , nu primeste

).
Practic daca am exemplul imediat de mai sus si trimit din C codul :
for(i=1;i<10;i++)
{ if (send(k,init,sizeof(init),0)==-1) { perror("send");} } // trimit de 10 ori ( din for ) clientSocket1'ului din Java ..
el nu primeste ..
dar daca fac ca in exemplul 1 si introduc
is = new BufferedReader(new InputStreamReader(clientSocket1.getInputStream())); in
for (; ; ) el primeste OK
TOATE datele ,
PRIMUL string corect , insa urmatoarele cu multe patratele inainte

Nu stiu daca m'am facut inteles , dar cred ca nu e nimic de conversie si doar de primire date .. si ceva cu metoda readLine() , care nu citeste chiar tot ce primeste , si daca citeste nu o face tocma' bine.
Oricum
3Nigma , thank's !
