public void Connect(string url)
{
URL = url;
var uri = new Uri(url);
Target = new Target(new IPEndPoint(Dns.GetHostAddresses(uri.Host).First(x=>x.AddressFamily == AddressFamily.InterNetwork), uri.Port < 0 ? 1935 : uri.Port));
Peer.Address = Target.Address;
Handler.FarProtocol.IOHandler.Socket.Connect(Target.Address);
Handler.FarProtocol.IOHandler.ReadEnabled = true;
var rand = Utils.GenerateRandomBytes(16);
HandShake30(rand);
_handshakeTimeoutTimer.Start();
_handshake = () => HandShake30(rand);
}