예제 #1
0
        private static void SendInsideMessageCallback(IAsyncResult async)
        {
            SignallingNodeDeviceClass.MakeSignallingLog("PC", "INFO - Sent inside message");

            //metoda wywoływana po wyjściu z metody SendInsideMessage
            AsyncResult ar = (AsyncResult)async;
            Delegate_SendInsideMessage del = (Delegate_SendInsideMessage)ar.AsyncDelegate;

            del.EndInvoke(async);
        }
예제 #2
0
        public void SendSignallingMessage(SignalMessage message)
        {
            //trzeba jakoś sprawdzić, czy ma wysyłać wiadomość wewnętrzną, czy zewnętrzną
            bool insideMessage = CheckIfMessageIsInsideOrOutside(message);

            if (insideMessage)
            {
                //inicjalizacja delegata
                Delegate_SendInsideMessage sendMessage = new Delegate_SendInsideMessage(SendInsideMessage);
                sendMessage.BeginInvoke(message, new AsyncCallback(SendInsideMessageCallback), null);
            }
            else
            {
                string destinationIP = message.General_DestinationIpAddress;
                byte[] data          = SignalMessageToByte(message);

                SendOutsidePacket(data, destinationIP);
            }
        }