
Offers a UDP client-server API for seamless communication, facilitating integration into projects through specified dependencies.
TCP Client-Server API
kotlin {
sourceSets {
commonMain.dependencies {
...
implementation("io.github.remmerw:dagr:0.4.2")
}
...
}
}
@Test
fun testDagr(): Unit = runBlocking(Dispatchers.IO) {
val serverData = "Moin".encodeToByteArray()
val server = newDagr(port = 0, timeout = 5, acceptor = object : Acceptor {
override suspend fun request(request: Long): Data {
assertEquals(request, 1)
val buffer = Buffer()
buffer.write(serverData)
return Data(buffer, serverData.size)
}
})
val remoteAddress = InetSocketAddress(
InetAddress.getLoopbackAddress(), server.localPort()
)
val connection = connectDagr(remoteAddress)!!
val buffer = Buffer()
connection.request(1, buffer)
assertContentEquals(buffer.readByteArray(), serverData)
connection.close()
server.shutdown()
}
TCP Client-Server API
kotlin {
sourceSets {
commonMain.dependencies {
...
implementation("io.github.remmerw:dagr:0.4.2")
}
...
}
}
@Test
fun testDagr(): Unit = runBlocking(Dispatchers.IO) {
val serverData = "Moin".encodeToByteArray()
val server = newDagr(port = 0, timeout = 5, acceptor = object : Acceptor {
override suspend fun request(request: Long): Data {
assertEquals(request, 1)
val buffer = Buffer()
buffer.write(serverData)
return Data(buffer, serverData.size)
}
})
val remoteAddress = InetSocketAddress(
InetAddress.getLoopbackAddress(), server.localPort()
)
val connection = connectDagr(remoteAddress)!!
val buffer = Buffer()
connection.request(1, buffer)
assertContentEquals(buffer.readByteArray(), serverData)
connection.close()
server.shutdown()
}