2014-10-31 36 views
24

Dall'ultimo aggiornamento OSX (Yosemite), il mio server localhost è pieno di messaggi di errore da airplay (ma non lo sto usando). Ogni volte è la stessa:AirPlay mette in disordine 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 - 

E 'solo fastidioso avere il suo server piena di messaggi di errore, quindi se qualcuno ha un indizio per risolvere questo o di cancellare airplay, sarei molto grato :)

risposta

28

Penso di aver trovato la risposta: Su un cisco discovery forum hanno elencato un output nmap che ha rivelato gli intervalli di porte Discoveryd Yosemite. Si scopre che l'Apple sta utilizzando la porta 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 

Come potete immaginare questo è la porta di default Flask, basta cambiare la porta in esecuzione a qualcosa di diverso da 5000, e questo problema dovrebbe scomparire. Questa estensione di Flask https://github.com/miguelgrinberg/Flask-Runner può semplificarti la vita rispetto alla codifica hard della porta nel comando run.

0

I si è imbattuto in questo stesso problema, ma si è scoperto che ho avuto un errore nel mio codice. Stavo tentando di connettermi a un server Redis con il numero di porta sbagliato e in qualche modo l'errore Airplay è apparso.

Non sono sicuro se questo risolve il problema ma potrebbe aiutare qualcun altro a riscontrare lo stesso problema riscontrato.

+0

Non è lo stesso problema per me, ma grazie per la condivisione che io non sono l'unico! :) –

2

Inoltre, sotto Flask.run() è il port arg in modo da poter specificare quale porta si desidera utilizzare, questo funziona per localhost.

Ecco lo source documentation.

Esempio:

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)