2014-10-31 14 views
24

Seit dem letzten OSX-Update (Yosemite) ist mein localhost-Server voller Fehlermeldungen von Airplay (aber ich benutze es nicht). Jedes Mal ist es das gleiche:AirPlay vermasselt 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 - 

Es ist nur ärgerlich, seine Server voller Fehlermeldungen zu haben, also wenn jemand hat eine Ahnung, dass zu beheben oder Airplay zu entfernen, würde ich :)

Antwort

28

Ich glaube, ich habe die Antwort gefunden: Auf einer cisco discovery forum listet sie eine nmap Ausgabe auf, die die Yosemite discoverd Port-Bereiche enthüllte. Stellt sich die Apple-out wird über Port 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 

Wie Sie sich das vorstellen kann, ist die Standard-Flask-Port einfach Ihre Lauf Port nichts ändern andere als 5000, und dieses Problem sollte verschwinden. Diese Flask-Erweiterung https://github.com/miguelgrinberg/Flask-Runner kann Ihr Leben viel einfacher machen, als den Port im run-Befehl hart zu codieren.

0

ich sehr dankbar lief auf das gleiche Problem, aber es stellte sich heraus, dass ich einen Fehler in meinem Code hatte. Ich habe versucht, eine Verbindung zu einem Redis-Server mit der falschen Portnummer herzustellen, und irgendwie ist dieser Airplay-Fehler aufgetreten.

Ich bin mir nicht sicher, ob dies Ihr Problem behebt, aber es kann dazu beitragen, dass jemand anderes das gleiche Problem wie ich hatte.

+0

Es ist nicht das gleiche Problem für mich, aber dank für den Austausch, die ich nicht der einzige bin! :) –

2

Auch unter Flask.run() ist die port arg, so dass Sie angeben können, welchen Port Sie verwenden möchten, funktioniert dies für localhost.

Hier ist die source documentation.

Beispiel:

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)