AirPlay испортил локальный хост
С момента последнего обновления OSX (Yosemite) мой сервер localhost заполнен сообщениями об ошибках из эфира (но я его не использую). Каждый раз это одно и то же:
[31/Oct/2014 05:40:42] code 400, message Bad request version ('RTSP/1.0')
[31/Oct/2014 05:40:42] "GET /info?txtAirPlay&txtRAOP RTSP/1.0" 400 -
Это просто раздражает, что у его сервера полно сообщений об ошибках, поэтому, если у кого есть подсказка, чтобы исправить это или удалить трансляцию, я был бы очень благодарен:)
Ответы
Ответ 1
Я думаю, что нашел ответ: на форуме cisco discovery они указали результат nmap
, который показал диапазоны портов Yosemite discoveryd. Оказывается, Apple использует порт 5000:
PORT STATE SERVICE VERSION
3689/tcp open daap Apple iTunes DAAP 11.0.1d1
5000/tcp open rtsp Apple AirTunes rtspd 160.10 (Apple TV)
7000/tcp open http Apple AirPlay httpd
7100/tcp open http Apple AirPlay httpd
62078/tcp open tcpwrapped
5353/udp open mdns DNS-based service discovery
Как вы можете себе представить, это порт флагов по умолчанию, просто измените свой рабочий порт на что угодно, кроме 5000, и эта проблема должна исчезнуть. Это расширение Flask https://github.com/miguelgrinberg/Flask-Runner может сделать вашу жизнь намного легче, чем жесткое кодирование порта в команде run.
Ответ 2
Кроме того, под Flask.run()
находится аргумент port
, поэтому вы можете указать, какой порт вы хотите использовать, это работает для localhost.
Вот исходная документация .
Пример:
from flask import Flask, Response
app = Flask(__name__)
@app.route('/')
def default():
return Response(status=200)
if __name__ == '__main__':
app.run(debug=True, port=12345)
Ответ 3
Я столкнулся с этой же проблемой, но оказалось, что у меня была ошибка в моем коде. Я пытался подключиться к серверу Redis с неправильным номером порта и каким-то образом появилась ошибка Airplay.
Я не уверен, что это исправляет вашу проблему, но может помочь кому-то еще столкнуться с той же проблемой, что и я.