Я создаю приложение, которое требует обмена сообщениями между клиентом и сервером.Я решил использовать MINA.Сервер работает просто отлично (читает сообщения, запускает события и записывает ответы, как в журналах), но клиент, похоже, не запускает никаких событий.Он регистрирует отправленные сообщения, полученные байты, но обработчик никогда не используется.Ни одно из сообщений отладки внутри обработчика не печатается.Как я могу сделать событие messageReceived событием?
Я использую сервер Linux с 1.8.0_212 Java, MINA версии 2.1.2, Kotlin версии 1.3.30
val connector = NioSocketConnector()
connector.filterChain.addLast("logger", LoggingFilter())
connector.filterChain.addLast("codec", ProtocolCodecFilter(TextLineCodecFactory(Charsets.UTF_8, System.lineSeparator(), System.lineSeparator())))
connector.handler = object: IoHandlerAdapter() {
override fun sessionCreated(session: IoSession?)
println("created session")
}
override fun event(session: IoSession?, event: FilterEvent) {
println("event: ${event::class.java.simpleName}")
}
override fun messageReceived(session: IoSession?, message: Any) {
println("received message: $message")
}
}
val future = lobbyConnector.connect(InetSocketAddress("172.18.0.10",
Constants.SERVER_PORT))
future.awaitUninterruptibly()
val session = future.session
session.config.isUseReadOperation = true
Я ожидаю, что мой обработчик будет получать сообщения, но вместо этого он неничего не делать