Небольшое исправление, каждый новый поток, который вы создаете и начинаете с start()
, будет новым потоком сервера, обрабатывающим нового клиента.
Какая именно строка принимает данные?
Чтобы принять данные от клиента, вам нужно обернуть входной поток клиента в некоторый входной поток и затем вызвать соответствующую функцию чтения входного потока.
void readx(Socket con)
{
String line=new String();
BufferedReader bin= new BufferedReader(new InputStreamReader(con.getInputStream());
while((line = bin.readLine()) != null) //Read new lines coming from the server
System.out.println(line);
}
Это всего лишь пример, у вас могут быть другие оболочки InputStream, такие как DataInputStream
и соответствующие им функции чтения.
Как я могу принять более 1 пакета (скажем, это строка)?
Приведенный выше фрагмент будет непрерывно принимать данные от клиента (может быть любым числом строк), пока клиент не отправит символ завершения потока.