Exemple #1
0
 private void UdpReceiver_MessageReceived(object sender, Sockets.Plugin.Abstractions.UdpSocketMessageReceivedEventArgs e)
 {
     if (e.RemoteAddress == serverAddress)
     {
         OnMessageUDP(e.ByteData);
     }
 }
Exemple #2
0
        void SocketClient_MessageReceived(object sender, Sockets.Plugin.Abstractions.UdpSocketMessageReceivedEventArgs e)
        {
            var             dto = Serializer.Deserialize <BaseDto>(e.ByteData);
            Action <object> callback;

            lock (callbacks)
                callbacks.TryGetValue(dto.GetType(), out callback);
            callback?.Invoke(dto);
        }
        void UdpConnection(object sender, Sockets.Plugin.Abstractions.UdpSocketMessageReceivedEventArgs args)
        {
            Packet pkt = new Packet();

            pkt.method   = "udp";
            pkt.fromip   = args.RemoteAddress;
            pkt.fromport = Convert.ToInt32(args.RemotePort);
            pkt.toip     = "You";
            pkt.toport   = udpPort;

            var buf = args.ByteData;

            if (buf.Length > 0)
            {
                pkt.hex = Packet.byteArrayToHex(buf);
            }


            MessagingCenter.Send(this, Events.NEW_TRAFFIC_PACKET, pkt);
        }
Exemple #4
0
        private async void HandleRequest(Sockets.Plugin.Abstractions.UdpSocketMessageReceivedEventArgs result)
#endif
        {
            Request request = null;

            try
            {
#if (!PORTABLE)
                request = Request.FromArray(result.Buffer);
#else
                request = Request.FromArray(result.ByteData);
#endif
                OnRequested(request);

                IResponse response = await ResolveLocal(request);

#if (!PORTABLE)
                OnResponded(request, response);
                await udp
                .SendAsync(response.ToArray(), response.Size, result.RemoteEndPoint)
                .WithCancellationTimeout(UDP_TIMEOUT);
#else
                OnResponded(request, response);
                await udp
                .SendAsync(response.ToArray());
#endif
            }
#if (!PORTABLE)
            catch (SocketException e) { OnErrored(e); }
#endif
            catch (ArgumentException e) { OnErrored(e); }
            catch (OperationCanceledException e) { OnErrored(e); }
            catch (IOException e) { OnErrored(e); }
            catch (ObjectDisposedException e) { OnErrored(e); }
            catch (ResponseException e)
            {
                IResponse response = e.Response;

                if (response == null)
                {
                    response = Response.FromRequest(request);
                }

                try
                {
#if (!PORTABLE)
                    await udp
                    .SendAsync(response.ToArray(), response.Size, result.RemoteEndPoint)
                    .WithCancellationTimeout(UDP_TIMEOUT);
#else
                    await udp
                    .SendAsync(response.ToArray());
#endif
                }
#if (!PORTABLE)
                catch (SocketException) { }
#endif
                catch (OperationCanceledException) { }
                finally { OnErrored(e); }
            }
        }
Exemple #5
0
 private void Client_MessageReceived(object sender, Sockets.Plugin.Abstractions.UdpSocketMessageReceivedEventArgs e)
 {
     InvokeMessageReceived("Received " + Encoding.ASCII.GetString(e.ByteData));
     Console.WriteLine("Received " + Encoding.ASCII.GetString(e.ByteData));
 }