private void UdpReceiver_MessageReceived(object sender, Sockets.Plugin.Abstractions.UdpSocketMessageReceivedEventArgs e) { if (e.RemoteAddress == serverAddress) { OnMessageUDP(e.ByteData); } }
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); }
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); } } }
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)); }