что произойдет с серверным сокетом в моем приложении, когда я внезапно изменю сеть Wi-Fi?Я предполагаю, что он выключится, так как мое устройство получит новый IP, по крайней мере в TCP, склонен ли к этому UDP MulticastSocket?И как завершить предыдущий поток сокета сервера и начать новый, когда сеть меняется?Одно решение использует тайм-ауты, другое использует флаг, который будет указывать, должен ли бесконечный цикл заканчиваться или нет, но поскольку прослушивание сокета является блокирующей функцией, оно в любом случае вызовет исключение / ошибку.
Любые мыслибудет оценено!:)
РЕДАКТИРОВАТЬ: образец потока моего сервера.
ServerSocket ss = new ServerSocket(4445);
while(true){
Socket socket = ss.accept();
ObjectInputStream in = new ObjectInputStream(socket.getInputStream());
Object obj = in.readObject();
Log.i("TAG", "Received: " + obj.toString());
in.close();
socket.close();
}