Если ваш предыдущий сокет был успешно закрыт, то не должно быть проблем с повторным созданием этого сокета.Это будет работать в Java, потому что JVM освободит вас от мусора.
Если вам нужно несколько подключений к серверу (это может быть полезно, поскольку вы ведете чат), имейте это в виду.Функция accept на стороне сервера будет создавать новый сокет при каждом запросе.Таким образом, вы можете просто использовать потоки и передать новый сокет (созданный с помощью accept) потоку.
Если это не отвечает на ваш вопрос, я бы посоветовал вам перейти на веб-сайт Oracle:http://docs.oracle.com/javase/tutorial/
и переформулировать вопрос.