Первая проблема заключается в следующем:
catch (Exception e){
}
Здесь написано: "поймай все исключения и не говори мне, что случилось "
По крайней мере, сделать это:
catch (Exception e){
e.printStackTrace();
}
, чтобы узнать, что было исключением. Это даст вам некоторые подсказки для следующей проблемы. (Что, вероятно, не имеет ничего общего с Scanner
. Я ожидаю, что проблема с soc.getOutputStream()
.)