Very roughly, and I say VERY, I doubt this would even compile, but you could do something like this (very raw, could be well improved).. oh, and its C#, not VB.Net, obviously
using System.Net.Sockets;
using System.Text;
Socket s = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp );
IPAddress ipAddress = IPAddress.Parse(HOST);
Random random = new Random();
int randomNumber = random.Next(10, 100);
String message = "0s2a" + randomNumber.ToString() + command + @"\r\n";
byte[] msg = Encoding.UTF8.GetBytes(message);
byte[] bytes = new byte[256];
try
{
s.Connect( new IPEndPoint( ipAddress, PORT ) );
int i = s.Send(msg);
Console.WriteLine("Sent {0} bytes.", i);
i = s.Receive(bytes);
Console.WriteLine("Received (0} bytes = {1}", i, Encoding.UTF8.GetString(bytes));
}
catch (SocketException e)
{
Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
}