如何使Mina客户端消息事件火灾



我正在制作一个需要客户服务器消息传递的应用程序。我决定使用Mina。服务器工作正常(如日志中,读取消息,启动事件并写入响应(,但客户端似乎没有发射任何事件。它记录了发送消息,接收字节,但从未使用过处理程序。处理程序内部的调试消息都没有打印。我该如何使MessageReceed Event Fire?

我使用的是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

我希望我的处理程序会收到消息,而是没有做任何事情

修复。我很愚蠢,我只是在其他模块中分配了不同的处理程序,而没有调试

最新更新