Fyodor Danilov
aSocket
disconnect()
java.net.BindException: Address already in use
socket?.dispose()
private val selectorManager = SelectorManager(Dispatchers.IO) private var socket: Socket? = null private var writeChannel: ByteWriteChannel? = null private var readChannel: ByteReadChannel? = null suspend fun connect(ip: String, port: Int) { socket = aSocket(selectorManager) .tcp() .bind(ip, port) .accept() } override suspend fun disconnect() { withContext(Dispatchers.IO) { writeChannel?.close() readChannel = null socket?.dispose() } }
Aleksei Tirman [JB]
disconnect
close
cancel
A modern programming language that makes developers happier.