public async void Send(OscPacket packet) { if (Host != null && Port != null) { await Send(packet, Host, Port.Value); } else { throw new InvalidOperationException("No destination was supplied"); } }
public static new OscBundle Parse(BinaryReader reader) { OscString bundleString = OscString.Parse(reader); OscTimeTag timeTag = OscTimeTag.Parse(reader); List <OscPacket> contents = new List <OscPacket>(); while (reader.BaseStream.Position < reader.BaseStream.Length) { OscInt size = OscInt.Parse(reader); OscPacket packet = OscPacket.Parse(reader); contents.Add(packet); } return(new OscBundle(timeTag.Contents, contents)); }
public OscReceiver() { AddressOnMessageReceived = new Dictionary <string, EventHandler <OSCMessageReceivedArgs> >(); receiver = new UdpSocketReceiver(); receiver.MessageReceived += (sender, args) => { OscPacket packet = OscPacket.Parse(args.ByteData); if (packet is OscBundle) { OscBundle bundle = packet as OscBundle; OnBundleReceived(bundle, args.RemoteAddress); } else { OscMessage message = packet as OscMessage; OnMessageReceived(message, args.RemoteAddress); } }; }
public async Task Send(OscPacket packet, string hostname, int port) { await sender.SendToAsync(packet.Bytes, packet.Bytes.Length, hostname, port); }