What is the wrong? Different results of the server response message
<p>I wonder, what is the mistake in code.</p>

<p>i want to get a correct result. </p>

<p>but now, send strange results on the server side.</p>

<p>the link below is the reference.</p>

<p>https:// firebase.google.com/docs/cloud-messaging/server#choose</p>

<p>and results are below. </p>

<pre><code>connect ready
host: fcm-xmpp.googleapis.com, and port: 5236
connect ok
connect!
msg: &lt;stream:stream
to="gcm.googleapis.com"version="1.0"xmlns="jabber:
   client"xmlns:stream="http://eth    erx.jabber.org/streams"&gt;
channelConnected
e.getMessage(): BigEndianHeapChannelBuffer(ridx=0, widx=7, cap=7)
MessageDumpByte&gt; - length:&lt;7&gt;

[0000] 15 03 01 00  02 02 46                                 ......F
messageReceived: 
</code></pre>

<p>add to, It has posted a simple code that I made.</p>

<pre><code>public class client2
{
final String host = "fcm-xmpp.googleapis.com";
// final String host = "127.0.0.1";
final int port = 5236;
Channel channel = null;

public static void main(String[] args) throws Exception
{
    client2 client = new client2();
    client.init();
}

public void init()
{
    ClientBootstrap bootstrap = new ClientBootstrap(
            new NioClientSocketChannelFactory(
                    Executors.newCachedThreadPool(),
                    Executors.newCachedThreadPool()));

    bootstrap.setPipelineFactory(new ChannelPipelineFactory()
    {
        public ChannelPipeline getPipeline() throws Exception
        {
            return Channels.pipeline(new ClientHandler());
        }
    });

    System.out.println("connect ready");
    System.out.println("host: " + host + ", and port: " + port);

    ChannelFuture future = bootstrap.connect(new InetSocketAddress(host,
            port));
    channel = future.getChannel();

    System.out.println("connect ok");
}
}

class ClientHandler extends SimpleChannelUpstreamHandler
{

private ChannelBuffer firstMessage;
private final AtomicLong transferredBytes = new AtomicLong();

public ClientHandler()
{
}

public long getTransferredBytes()
{
    return transferredBytes.get();
}

@Override
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e)
{

    System.out.println("connect!");

    StringBuilder msg = new StringBuilder();

    msg.append("&lt;stream:stream to=").append("\"")
            .append("gcm.googleapis.com").append("\"").append("version=")
            .append("\"").append("1.0").append("\"").append("xmlns=")
            .append("\"").append("jabber:client").append("\"")
            .append("xmlns:stream=").append("\"")
            .append("http://etherx.jabber.org/streams").append("\"")
            .append("&gt;");

    System.out.println("msg: " + msg.toString());

    firstMessage = ChannelBuffers.copiedBuffer(msg.toString(),
            CharsetUtil.UTF_8);
    e.getChannel().write(firstMessage);

}

@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
{
    System.out.println("e.getMessage(): " + e.getMessage());
    transferredBytes.addAndGet(((ChannelBuffer) e.getMessage())
            .readableBytes());

    ChannelBuffer cb = (ChannelBuffer) e.getMessage();
    byte[] message = cb.array();

    try
    {
        String dump = Utility.MessageDumpByte(message);
        System.out.println(dump);
        System.out.println("messageReceived: "
                + new String(message, "UTF-8"));
    }
    catch (Exception e1)
    {
        e1.printStackTrace();
    }

}
}
</code></pre>

<p>i used jdk 1.7, Netty version 3.X</p>

<p>and It made with reference to this document.</p>

<ol>
<li><p><a href="https://github.com/xose/netty-xmpp" rel="nofollow">https://github.com/xose/netty-xmpp</a></p></li>
<li><p><a href="http://www.programcreek.com/java-api-examples/index.php?source_dir=gcm_server-master/src/com/grokkingandroid/sampleapp/samples/gcm/ccs/server/CcsClient.java#" rel="nofollow">http://www.programcreek.com/java-api-examples/index.php?source_dir=gcm_server-master/src/com/grokkingandroid/sampleapp/samples/gcm/ccs/server/CcsClient.java#</a></p></li>
</ol>