code: public static function createClientSocket($socketAddress, $timeout = null, $socketContext = null)
      {
          if ($timeout === null) {
              $timeout = intval(ini_get('default_socket_timeout'));
          }
          set_error_handler(null);
          if ($socketContext !== null) {
              $socket = @stream_socket_client($socketAddress, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socketContext);
          } else {
              $socket = @stream_socket_client($socketAddress, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT);
          }
          restore_error_handler();
          if ($socket === false) {
              throw new Exception\ConnectException($errstr, $errno);
          }
  
          return $socket;
      }
docs: @param string        $socketAddress
  @param int|null      $timeout
  @param resource|null $socketContext
  
  @throws Exception\ConnectException
  
  @return resource