diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt index 65b7383a..bc1dfb7b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/worldslink/FutariServer.kt @@ -27,6 +27,7 @@ data class ActiveClient( val socket: Socket, val reader: BufferedReader, val writer: BufferedWriter, + val thread: Thread = Thread.currentThread(), // val tcpStreams: MutableMap = mutableMapOf(), val pendingStreams: MutableSet = mutableSetOf(), @@ -39,9 +40,16 @@ data class ActiveClient( fun send(msg: Msg) { writeMutex.withLock { - writer.write(msg.toString()) - writer.newLine() - writer.flush() + try { + writer.write(msg.toString()) + writer.newLine() + writer.flush() + } + catch (e: Exception) { + log.error("Error sending message", e) + socket.close() + thread.interrupt() + } } } }