public void Connect(IPEndPoint remoteEp)
{
if (_state != TcpState.Closed)
{
throw new Exception("Closed Only");
}
_state = TcpState.Connecting;
_localEndPoint = null;
_remoteEndPoint = remoteEp;
_client = new TcpClient();
_client.BeginConnect(remoteEp.Address, remoteEp.Port, ConnectCallback, null);
}