public OscMessage(string address, params object[] values) { Address = new OscString(address); Arguments = new List <IOscValue>(); foreach (object obj in values) { if (obj is IOscValue) { Arguments.Add(obj as IOscValue); } else { Arguments.Add(OscValue.Wrap(obj)); } } Bytes = GetBytes(); }
public static new OscMessage Parse(BinaryReader reader) { OscString address = OscString.Parse(reader); OscString typeTags = OscString.Parse(reader); int valueCount = typeTags.Contents.Length - 1; List <IOscValue> values = new List <IOscValue>(); foreach (char current in typeTags.Contents.Substring(1)) { IOscValue value = OscValue.Parse(current, reader); values.Add(value); } return(new OscMessage(address.Contents, values)); }
public void SendAndReceiveMessage() { using (var server = new OscServer(9001, new IPEndPoint(IPAddress.Any, 0))) using (var client = new OscClient(new IPEndPoint(IPAddress.Loopback, 9001))) { var method = new OscMethod(new OscAddress("/abc"), Callback); server.AddMethods(method); server.Start(); var addressPattern = new OscAddressPattern("/abc"); var arguments = new OscValue[] { new OscString("Hello World.") }; var message = new OscMessage(addressPattern, arguments); client.Send(message); Thread.Sleep(100); } Assert.True(messageReceived); }