Desarrolladores

El puerto 5000 o 7000 está en uso en un Mac: Receptor AirPlay

Apple indica los puertos TCP 5000 y 7000 para AirPlay. Cuando el Receptor AirPlay está activado, un servidor de desarrollo no puede usar esos puertos.

Se aplica a: macOS 12 Monterey y posterior. El ajuste está en General > AirDrop y Handoff, o AirDrop y Continuidad en las versiones más recientes.Revisado: 29 de octubre de 2026

Síntomas

  • Un servidor de desarrollo Flask, u otro, en el puerto 5000 se detiene con «address already in use».
  • lsof muestra ControlCenter en el puerto 5000 o 7000.
  • curl localhost:5000 devuelve una respuesta que no viene de tu app.

Causas probables

  • Receptor AirPlay. El Receptor AirPlay permite que otros dispositivos Apple transmitan contenido al Mac. Apple indica los puertos 5000 y 7000 para AirPlay.
  • Otro servidor. Si el proceso no es ControlCenter, otra app usa el puerto. Consulta Puerto ya en uso en un Mac.

Cómo comprobarlo

  1. Busca el proceso que usa el puerto 5000.

    lsof -nP -iTCP:5000 -sTCP:LISTEN

    Salida Una línea con ControlCenter en la columna COMMAND indica que es el Receptor AirPlay.

  2. Busca el proceso que usa el puerto 7000.

    lsof -nP -iTCP:7000 -sTCP:LISTEN

Cómo solucionarlo

  1. La solución más sencilla es usar otro puerto para tu servidor de desarrollo, como el 5001 o el 8000.

  2. Para liberar los puertos, selecciona menú Apple > Ajustes del Sistema > General > AirDrop y Handoff. Las versiones más recientes lo llaman AirDrop y Continuidad.

  3. Desactiva Receptor AirPlay.

  4. En macOS 12, el ajuste está en Preferencias del Sistema > Compartir > Receptor AirPlay.

  5. Vuelve a ejecutar lsof para comprobar que el puerto está libre.

    lsof -nP -iTCP:5000 -sTCP:LISTEN

Preguntas

¿Puedo dejar activado el Receptor AirPlay?

Sí. Ejecuta tu servidor en otro puerto. Solo necesitas desactivar el Receptor AirPlay si la app tiene que usar el puerto 5000 o 7000.

¿Por qué el servidor funciona en Linux en el puerto 5000?

El Receptor AirPlay es una función de macOS. Otros sistemas no usan este puerto para eso.

Fuentes

Fuentes revisadas el 29 de octubre de 2026. Las páginas man son las que se instalan con macOS; abre una con man <name> en Terminal.