コード例 #1
0
 private void onNewMessage(capex.net.WSSocketGeneric.MyWSMessage message)
 {
     if (message.isCloseControlFrame())
     {
         close(capex.net.WSCloseEvent.CLOSE_NORMAL, null);
     }
     else if (message.isPingControlFrame())
     {
         doSend(capex.net.WSSocketGeneric.MyWSMessage.forPongControlFrame());
     }
     else if (message.isPongControlFrame())
     {
         ;
     }
     else
     {
         var c = getOnMessageCallback();
         if (c != null)
         {
             if (message.isDataText())
             {
                 c(capex.net.WSMessage.forStringData(cape.String.forUTF8Buffer(message.getPayloadBuffer())));
             }
             else
             {
                 c(capex.net.WSMessage.forData(message.getPayloadBuffer()));
             }
             return;
         }
     }
 }
コード例 #2
0
        private void doSend(capex.net.WSSocketGeneric.MyWSMessage message)
        {
            if (!(message != null))
            {
                return;
            }
            var data = message.toBuffer();

            client.send(data, data.Length, (cape.Error e) => {
                if (!(e != null))
                {
                    return;
                }
                var c = getOnErrorCallback();
                if (c != null)
                {
                    c();
                }
            });
        }
コード例 #3
0
 public override void send(capex.net.WSMessage message)
 {
     if (!(message != null))
     {
         return;
     }
     if (!(client != null))
     {
         return;
     }
     capex.net.WSSocketGeneric.MyWSMessage v = null;
     if (message.isText())
     {
         v = capex.net.WSSocketGeneric.MyWSMessage.create(1, 0, 0, 0, 1, capex.net.WSSocketGeneric.WSHelper.generateMaskingKey(), message.getData());
     }
     else
     {
         v = capex.net.WSSocketGeneric.MyWSMessage.create(1, 0, 0, 0, 2, capex.net.WSSocketGeneric.WSHelper.generateMaskingKey(), message.getData());
     }
     doSend(v);
 }