public StompClient(string aTargetHost, [DefaultParameterValue(0xf0ad)] int aPort, string aUsername, string aPassword)
{
this.fSBuilder = new StringBuilder();
this.fBuilder = new MemoryStream();
this.fByteReader = new byte[1];
fSocket = new Connection(new Binding());
var lEntry = System.Net.Dns.GetHostEntry(aTargetHost);
for (int i = 0; i < lEntry.AddressList.Length; i++)
{
var lIP = lEntry.AddressList[i];
try
{
fSocket.Connect(lIP, aPort);
break;
}
catch { }
}
if (!fSocket.Connected) throw new ArgumentException("No such host");
Send("CONNECT", new StringPair[] { new StringPair("login", aUsername), new StringPair("passcode", aPassword) }, null);
string lResp;
IList<StringPair> lHeaders;
byte[] lBody;
Receive(out lResp, out lHeaders, out lBody);
if (lResp != "CONNECTED") throw new ArgumentException("Could not login: "******"session").Select(a => a.Value).FirstOrDefault();
}