Sergey Aldoukhov
06/12/2024, 6:22 PMAleksei Tirman [JB]
06/12/2024, 7:11 PMSergey Aldoukhov
06/12/2024, 7:30 PMrouting {
webSocket("/ws") { // websocketSession
for (frame in incoming) {
if (frame is Frame.Binary) {
val bytes = frame.readBytes()
println("Received ${bytes.size} fin ${frame.fin}")
}
}
}
}
Client:
runBlocking {
client.webSocket(HttpMethod.Get,
"localhost",
8080,
"ws",
request = {
headers {}
url.protocol = <http://URLProtocol.WS|URLProtocol.WS>
}
) {
send(Frame.Binary(false, ByteArray(10))
...
Sergey Aldoukhov
06/12/2024, 7:34 PMproduct: jvm/app
dependencies:
- io.ktor:ktor-client-core:2.3.11
- io.ktor:ktor-client-okhttp:2.3.11
- io.ktor:ktor-client-websockets:2.3.11
settings:
kotlin:
languageVersion: 1.9
If ktor-client changes to ktor-client-cio the bug disappearsSergey Aldoukhov
06/12/2024, 7:54 PMAleksei Tirman [JB]
06/13/2024, 8:13 AMFin
parameter. Also, the documentation says the following about your second problem:
Messages that would overflow the outgoing message buffer (16 MiB) will be rejected and trigger a graceful shutdown of this web socket.
Aleksei Tirman [JB]
06/13/2024, 8:13 AMSergey Aldoukhov
06/13/2024, 5:06 PM