Я разрабатываю игру для класса, в котором я нахожусь, и это примерно 99 % done. Однако я понял, что существует проблема: если сервер и клиент отключаются, а клиент пытается повторно подключиться (а сервер снова работает и работает нормально), клиент не устанавливает новое подключение.
и сервер, и клиент являются многопоточными. Если я отправлю клиенту сообщение Kick
, произойдет то, что клиент закроет свой сокет. Если я повторно подключусь, я получу SocketException
: socket закрыто, даже несмотря на то, что всякий раз, когда нажимается соединение, создается новый Клиент, который по сути представляет собой просто класс, который создает сокет и подключается к серверу с помощью потока получения / отправки.
Как вы думаете, есть ли что-то, что я делаю нелогично? Это похоже на попытку использовать старые Socket и Client, которые были созданы, но если я сделаю несколько println
вызовы, я вижу, что он создает новый, и они находятся в разных местах памяти.
Спасибо!