java - Access the object Inside Anonymous Handler function -
i have basic question. have started vertx framework. there 1 thing not able understand like
vertx.createnetserver().connecthandler(new handler<netsocket>() { @override public void handle(final netsocket socket) { socket.datahandler(new handler<buffer>() { public void handle(buffer buffer) { /* can access socket object inside handler */ socket.write("hello"); } }); } }).listen(1234);
but if write handler function separately this
handler<message> sockethandler = new handler<buffer>() { public void handle(buffer buffer) { /* how can access socket object */ socket.write("hello"); //this give error not recognize socket object } }; vertx.createnetserver().connecthandler(new handler<netsocket>() { @override public void handle(final netsocket socket) { socket.datahandler(sockethandler);//now write handler separately } }).listen(1234);
handler can anywhere in same java class or other java class. please me me how can write handler separately , still access socket object.
in second example, you're not passing socket
sockethandler
, cannot expect sockethandler
know it.
you solve creating method createsockethandler(final socket socket)
returns handler<message>
, replaces sockethandler
variable.
to learn more, , find out why need socket
final
, "anonymous inner classes"
Comments
Post a Comment