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(); }
public static Connection Connect(IPAddress host, Int32 port, Binding binding) { Connection lConnection = new Connection(binding); lConnection.Connect(host, port); return lConnection; }