Ваш вывод, по-видимому, буферизирован. После записи вашего вывода попробуйте промыть:
writer.println(toReturn);
writer.flush();
Кроме того, вы можете рассмотреть возможность вызова sock.close()
на вашем сервере, если вы закончили с сокетом, иначе клиенту будет интересно, что делать дальше.