Details
Description
The following server does not appear to receive any of the data sent by the client:
http://waste.io7m.com/2012/10/07/Server.java
http://waste.io7m.com/2012/10/07/Client.java
The output from the client is:
Connecting
session-created: (0x00000001: nio datagram, client, /127.0.0.1:33868 => /127.0.0.1:2300)
Connected
Session (0x00000001: nio datagram, client, /127.0.0.1:33868 => /127.0.0.1:2300)
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
Writing HeapBuffer[pos=0 lim=8 cap=8: 00 00 00 02 00 00 00 03]
The output from the server is:
Binding...
Bound
I'd expect to see messages regarding session creation and messages received on the server side.
Emmanuel Lecharny had this to say:
> Your code is correct, and, yes, there is something subtile that make
> your code not working.
>
> You have to add :
>
> future.awaitUninterruptibly();
> just after this line in your UDPClient :
>
> final ConnectFuture future =
> this.connector.connect(new InetSocketAddress("127.0.0.1", 2300));
>
> Yes, I know, it sounds weirdo. I have no idea why the
>
> if (conn_future.isConnected()) {
>
> does not wait for the same kind of event than the await() method does.
>
> I suggest you fill a JIRA, so that we can fix this strange behavior