do {
try {
val mServerSocket = ServerSocket()
mServerSocket.reuseAddress = true //允许地址重新复用
mServerSocket.bind(InetSocketAddress(IP, PORT))//绑定ip和端口
val socket = mServerSocket.accept()
} catch (e: Exception) {
e.printStackTrace()
}
//休眠5s重新链接 这样旧的socketserver才能释放连接
Thread.sleep(5000)
} while (true)
在重新构建ServerSocket之前需要休眠一段时间(我设定的是5s)这样旧的SocketServer才能完全释放不会引起address already in use异常。