【发布时间】:2016-03-01 03:44:39
【问题描述】:
我目前正在使用 Socket.io 的 Java 实现,可在此处获得:netty-socketio
我已经启动并运行了服务器,它在客户端和服务器之间很好地接收/发送消息,但是我需要在接收到某些消息时触发事件,这就是我感到困惑的地方。
这是我的代码:
server.addEventListener("message", clientData.class, new DataListener<clientData>() {
@Override
public void onData(SocketIOClient client, clientData data, AckRequest ackRequest) throws Exception {
System.out.println("Message from client: " + data.getMessage());
}
});
public class ClientData{
String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
基本上我想要发生的是当从客户端接收到特定消息时,我需要另一个类中的函数来运行。在过去的两个小时里,我一直在阅读有关 Observable、Observer、Interfaces 和事件处理程序的信息,但我真的不知道如何设置它。
图书馆也提到了这个DataListener,但我不知道那是什么,因为图书馆里的文档很少。
对此的任何意见或建议将不胜感激。
【问题讨论】:
-
我在这里没有发现问题。不调用println?有什么例外吗?请让clientData类以大写开头。
-
没有调用 println,但我需要另一个类来通知这已经发生。我认为这就是事件监听器的意义所在?
-
是的。这正是您在代码中所拥有的。监听器是实现 DataListener 的匿名类。
标签: java events socket.io listener netty