Closed paul-manjarres closed 12 years ago
Hm.. I've tested that operation but it works fine. You can test the socket.emit('event')
operation with this way. On the Sending and Receiving Events
menu, you can see socket.emit(event)
test works.
Which version of Socket.IO client did you use?
Hi, I'm using the last version available of Socket.IO ( build:0.9.10).
I'm using Vertex embedded. I'm starting a tomcat container and using a context listener to start the DefaultSocketIOServer. Everything is working for me, except the call to socket emit in javascript with just the event name socket.emit('event')
This is the code I'm using to start the socket.io server.
Vertx vertx = Vertx.newVertx();
HttpServer server = vertx.createHttpServer();
SocketIOServer io = new DefaultSocketIOServer(vertx, server);
io.sockets().onConnection(new Handler<SocketIOSocket>() {
public void handle(final SocketIOSocket socket) {
// handle socket events
}
});
server.listen(9000);
Hi paul-manjarres,
I'll look into this.
Thanks.
I've seen the latest codes in Parser.java
.
if(args != null) { // 194
packet.putArray("args", args); // 195, your logs says here is something wrong, but it doesn't pass NULL to the putArray method
} // 196
I feel, you are using the older version of mod-socket-io
, why don't you try the latest version? You can see how to use the latest version of mod-socket-io in this project's README.mf file.
Thank you. :)
I've implemented the DefaultSocketIOServer just like the example. Everything so far works perfect.
But when, on the client side, I use a command emit just using a String parameter, without the JSON data:
socket.emit("request");
The server throws an exception:
java.lang.NullPointerException at org.vertx.java.core.json.JsonObject.putArray(JsonObject.java:72) at com.nhncorp.mods.socket.io.impl.Parser.decodePacket(Parser.java:195) at com.nhncorp.mods.socket.io.impl.transports.WebSocketTransport$3.handle(WebSocketTransport.java:38) at com.nhncorp.mods.socket.io.impl.transports.WebSocketTransport$3.handle(WebSocketTransport.java:36) at org.vertx.java.core.http.impl.DefaultWebSocket.handleFrame(DefaultWebSocket.java:193) at org.vertx.java.core.http.impl.ServerConnection.handleWsFrame(ServerConnection.java:178) at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:282) at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:93) at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.messageReceived(DefaultHttpServer.java:556) at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563) at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:142) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563) at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:369) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:568) at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437) at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:373) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:247) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)