diff --git a/app/src/main/java/com/futo/platformplayer/states/StateSync.kt b/app/src/main/java/com/futo/platformplayer/states/StateSync.kt index 89c3b6c5..6d47bd8f 100644 --- a/app/src/main/java/com/futo/platformplayer/states/StateSync.kt +++ b/app/src/main/java/com/futo/platformplayer/states/StateSync.kt @@ -112,18 +112,23 @@ class StateSync { Logger.i(TAG, "Sync key pair initialized (public key = ${publicKey})") _thread = Thread { - val serverSocket = ServerSocket(PORT) - _serverSocket = serverSocket + try { + val serverSocket = ServerSocket(PORT) + _serverSocket = serverSocket - Log.i(TAG, "Running on port ${PORT} (TCP)") + Log.i(TAG, "Running on port ${PORT} (TCP)") - while (_started) { - val socket = serverSocket.accept() - val session = createSocketSession(socket, true) { session, socketSession -> + while (_started) { + val socket = serverSocket.accept() + val session = createSocketSession(socket, true) { session, socketSession -> + } + + session.startAsResponder() } - - session.startAsResponder() + } catch (e: Throwable) { + Logger.e(TAG, "Failed to bind server socket to port ${PORT}", e) + UIDialogs.toast("Failed to start sync, port in use") } }.apply { start() }