Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public IConnection Open(int connectionTimeout = 30)
 {
     ConnectionStateHandler.ToHandleConnectionState(this).Open(this, connectionTimeout);
     return(this);
 }
Ejemplo n.º 3
0
 private void CheckConnectionState(int connectionTimeout = 30)
 {
     ConnectionStateHandler.ToHandleConnectionState(this).Open(this, connectionTimeout);
 }
Ejemplo n.º 4
0
 private void CloseConnection()
 {
     ConnectionStateHandler.ToHandleConnectionState(this).Close(this);
 }