private void Connect() { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) { SendTimeout = SendTimeout, ReceiveTimeout = ReceiveTimeout }; try { if (ConnectTimeout == 0) { socket.Connect(Host, Port); } else { var connectResult = socket.BeginConnect(Host, Port, null, null); connectResult.AsyncWaitHandle.WaitOne(ConnectTimeout, true); } if (!socket.Connected) { socket.Close(); socket = null; HadExceptions = true; return; } Bstream = new BufferedStream(new NetworkStream(socket), 16 * 1024); if (Password != null) SendExpectSuccess(Commands.Auth, Password.ToUtf8Bytes()); if (db != 0) SendExpectSuccess(Commands.Select, db.ToUtf8Bytes()); var ipEndpoint = socket.LocalEndPoint as IPEndPoint; clientPort = ipEndpoint != null ? ipEndpoint.Port : -1; lastCommand = null; lastSocketException = null; LastConnectedAtTimestamp = Stopwatch.GetTimestamp(); if (ConnectionFilter != null) { ConnectionFilter(this); } } catch (SocketException ex) { if (socket != null) socket.Close(); socket = null; HadExceptions = true; var throwEx = new RedisException("could not connect to redis Instance at " + Host + ":" + Port, ex); log.Error(throwEx.Message, ex); throw throwEx; } }
private RedisException CreateConnectionError() { HadExceptions = true; var throwEx = new RedisException( string.Format("Unable to Connect: sPort: {0}", clientPort), lastSocketException); log.Error(throwEx.Message); throw throwEx; }
private void Connect() { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) { SendTimeout = SendTimeout, ReceiveTimeout = ReceiveTimeout }; try { if (ConnectTimeout == 0) { socket.Connect(Host, Port); } else { var connectResult = socket.BeginConnect(Host, Port, null, null); connectResult.AsyncWaitHandle.WaitOne(ConnectTimeout, true); } if (!socket.Connected) { socket.Close(); socket = null; HadExceptions = true; return; } Bstream = new BufferedStream(new NetworkStream(socket), 16 * 1024); if (Password != null) { SendExpectSuccess(Commands.Auth, Password.ToUtf8Bytes()); } if (db != 0) { SendExpectSuccess(Commands.Select, db.ToUtf8Bytes()); } var ipEndpoint = socket.LocalEndPoint as IPEndPoint; clientPort = ipEndpoint != null ? ipEndpoint.Port : -1; lastCommand = null; lastSocketException = null; LastConnectedAtTimestamp = Stopwatch.GetTimestamp(); if (ConnectionFilter != null) { ConnectionFilter(this); } } catch (SocketException ex) { if (socket != null) { socket.Close(); } socket = null; HadExceptions = true; var throwEx = new RedisException("could not connect to redis Instance at " + Host + ":" + Port, ex); log.Error(throwEx.Message, ex); throw throwEx; } }
private RedisException CreateConnectionError() { HadExceptions = true; var throwEx = new RedisException( string.Format("Unable to Connect: sPort: {0}", clientPort), lastSocketException); log.Error(throwEx.Message); throw throwEx; }