0
我有一个非常基本的问题。我刚开始使用vertx Framework。有一两件事,我无法理解像访问对象内匿名处理函数
vertx.createNetServer().connectHandler(new Handler<NetSocket>() {
@Override
public void handle(final NetSocket socket) {
socket.dataHandler(new Handler<Buffer>() {
public void handle(Buffer buffer) {
/* I can access the socket object inside this handler */
socket.write("Hello");
}
});
}
}).listen(1234);
,但如果我写分开处理函数这样
Handler<Message> socketHandler = new Handler<Buffer>() {
public void handle(Buffer buffer) {
/* How can i access the socket object now */
socket.write("Hello"); //this will give error as it does not recognize the socket object
}
};
vertx.createNetServer().connectHandler(new Handler<NetSocket>() {
@Override
public void handle(final NetSocket socket) {
socket.dataHandler(socketHandler);//now I write handler separately
}
}).listen(1234);
处理程序可以在同一个Java类或其他Java类的任何地方。请帮我看看如何分别编写处理程序并仍然访问套接字对象。
非常感谢你! – Mubbashar