public static AphidObject UdpSend(AphidObject clientObj, AphidObject datagramObj, AphidObject hostObj, AphidObject portObj) { var host = (string)hostObj.Value; var address = GetIPV4Address(host); var port = (decimal)portObj.Value; var ep = new IPEndPoint(address, (int)port); var buffer = AphidByteConverter.ToBytes(datagramObj); var client = (UdpClient)clientObj.Value; client.Send(buffer, buffer.Length, ep); var datagram = new Datagram() { LocalPort = ep.Port, RemotePort = (int)port, RemoteHost = host, Data = buffer, }; return AphidObject.ConvertFrom(datagram); }
public static AphidObject UdpReceive(UdpClient client, decimal port) { var ep = new IPEndPoint(IPAddress.Any, (int)port); var buffer = client.Receive(ref ep); var datagram = new Datagram() { LocalPort = (int)port, RemotePort = ep.Port, RemoteHost = ep.Address.ToString(), Data = buffer, }; return AphidObject.ConvertFrom(datagram); }