Ejemplo n.º 1
0
 /**
  * Create an Instance of a Server rearing to go.
  *
  * @param string $address An IPv4, IPv6, or Unix socket address
  * @param int    $port
  * @param int    $timeout Seconds to wait on a socket before timing it out
  */
 public function __construct($address, $port = 0, $timeout = null)
 {
     set_time_limit(0);
     $this->address = $address;
     $this->port = $port;
     $this->timeout = $timeout;
     switch (true) {
         case filter_var($address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4):
             $this->domain = AF_INET;
             break;
         case filter_var($address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6):
             $this->domain = AF_INET6;
             break;
         default:
             $this->domain = AF_UNIX;
     }
     $this->masterSocket = Socket::create($this->domain, SOCK_STREAM, 0);
     $this->masterSocket->bind($this->address, $this->port);
     $this->masterSocket->getSockName($this->address, $this->port);
     $this->masterSocket->listen();
 }