mirror of
https://github.com/jwetzell/QControlKit.git
synced 2026-07-26 10:38:54 +00:00
54 lines
935 B
C#
54 lines
935 B
C#
using System;
|
|
using System.Net.Sockets;
|
|
using System.Net;
|
|
|
|
namespace SharpOSC
|
|
{
|
|
public class UDPSender
|
|
{
|
|
public int Port
|
|
{
|
|
get { return _port; }
|
|
}
|
|
int _port;
|
|
|
|
public string Address
|
|
{
|
|
get { return _address; }
|
|
}
|
|
string _address;
|
|
|
|
IPEndPoint RemoteIpEndPoint;
|
|
Socket sock;
|
|
|
|
public UDPSender(string address, int port)
|
|
{
|
|
_port = port;
|
|
_address = address;
|
|
|
|
sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
|
|
|
|
var addresses = System.Net.Dns.GetHostAddresses(address);
|
|
if (addresses.Length == 0) throw new Exception("Unable to find IP address for " + address);
|
|
|
|
RemoteIpEndPoint = new IPEndPoint(addresses[0], port);
|
|
}
|
|
|
|
public void Send(byte[] message)
|
|
{
|
|
sock.SendTo(message, RemoteIpEndPoint);
|
|
}
|
|
|
|
public void Send(OscPacket packet)
|
|
{
|
|
byte[] data = packet.GetBytes();
|
|
Send(data);
|
|
}
|
|
|
|
public void Close()
|
|
{
|
|
sock.Close();
|
|
}
|
|
}
|
|
}
|