Sarà che io sono allergico ai tokenizer in genere... ma sinceramente non ho capito quale sia il problema.

Se s1, s2 e s3 non contengono spazi (condizione necessaria affinchè sia possibile tornare allo stato iniziale; diversamente occorre usare un delimitatore diverso dallo spazio), è sufficiente prendere la stringa letta dal server e splittarla attorno allo spazio:

codice:
String str = ...;   // Stringa ricevuta dal server
String[] tokens = str.split(" ");

String s1 = tokens[0];
String s2 = tokens[1];
String s3 = tokens[2];
Ciao.