2014-10-31 20 views
24

Od ostatniej aktualizacji OSX (Yosemite), mój serwer localhost jest pełen komunikatów o błędach z airplay (ale nie używam go). Każdy razy to samo:AirPlay messes up 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 - 

To jest po prostu irytujące mieć swój serwer pełny komunikatów o błędach, więc jeśli ktoś nie ma pojęcia to naprawić lub usunąć AirPlay, byłbym bardzo wdzięczny :)

Odpowiedz

28

Myślę, że znalazłem odpowiedź: Na cisco discovery forum wymieniono dane wyjściowe nmap, które ujawniły zakresy portów wykrytych w Yosemite. Okazuje się, że Apple jest za pomocą portu 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 

Jak można sobie wyobrazić, jest to domyślny port Kolba, wystarczy zmienić swój bieg port na niczym innym niż 5000, i ten problem powinien zniknąć. To rozszerzenie Kolby https://github.com/miguelgrinberg/Flask-Runner może znacznie ułatwić życie, niż trudne kodowanie portu w poleceniu run.

0

I wpadł na ten sam problem, ale okazało się, że miałem błąd w moim kodzie. Próbowałem połączyć się z serwerem Redis z niewłaściwym numerem portu i jakoś pojawił się błąd Airplay.

Nie jestem pewien, czy to rozwiąże problem, ale może pomóc komuś, kto napotka ten sam problem, co ja.

+0

To nie jest ten sam problem dla mnie, ale dzięki za dzielenie się, że nie jestem tylko jeden! :) –

2

Również pod Flask.run() jest arg port, dzięki czemu można określić port, którego chcesz użyć, to działa dla localhost.

Oto source documentation.

Przykład:

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)