public Socket Connect(string hostName, int port) { var endPoint = _endpointResolver.GetEndpoint(hostName, port); var ipAddress = _endpointResolver.GetIp(hostName); var socket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp); var connectionStateModel = new ConnectionStateHandler { Socket = socket, IsConnectionSuccessful = false }; Console.WriteLine($" >> Connecting [{socket.GetHashCode()}] to {endPoint}"); socket.BeginConnect(endPoint, ConnectCallback, connectionStateModel); _isConnectionMade.WaitOne(); return(connectionStateModel.IsConnectionSuccessful ? socket : null); }
public IConnection Open(int connectionTimeout = 30) { ConnectionStateHandler.ToHandleConnectionState(this).Open(this, connectionTimeout); return(this); }
private void CheckConnectionState(int connectionTimeout = 30) { ConnectionStateHandler.ToHandleConnectionState(this).Open(this, connectionTimeout); }
private void CloseConnection() { ConnectionStateHandler.ToHandleConnectionState(this).Close(this); }