flask एयरप्ले लोकहोस्ट को गड़बड़ कर देता है




localhost osx-yosemite (3)

मुझे लगता है कि मुझे जवाब मिला: सिस्को डिस्कवरी फोरम पर उन्होंने एक nmap आउटपुट सूचीबद्ध किया जिसने योसामेट डिस्कवरी पोर्ट बंदरगाहों का खुलासा किया। बंदरगाह बंदरगाह 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 के अलावा किसी अन्य चीज़ पर अपना रनिंग पोर्ट बदलें, और यह समस्या गायब होनी चाहिए। यह फ्लास्क एक्सटेंशन https://github.com/miguelgrinberg/Flask-Runner रन कमांड में बंदरगाह को हार्ड कोडिंग से कहीं अधिक आसान बना सकता है।

अंतिम ओएसएक्स अपडेट (योसमेट) के बाद से, मेरा लोकहोस्ट सर्वर एयरप्ले से त्रुटि संदेशों से भरा है (लेकिन मैं इसका उपयोग नहीं कर रहा हूं)। हर बार यह वही है:

[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 -

यह सर्वर को त्रुटि संदेश से भरा हुआ है, इसलिए अगर किसी को इसे ठीक करने या एयरप्ले को हटाने के लिए कोई सुराग है, तो मैं बहुत आभारी हूं :)


मैं एक ही समस्या में भाग गया, लेकिन यह पता चला कि मुझे अपने कोड में एक त्रुटि थी। मैं गलत पोर्ट नंबर के साथ एक Redis सर्वर से कनेक्ट करने का प्रयास कर रहा था और किसी भी तरह एयरप्ले त्रुटि प्रकट हुई।

मुझे यकीन नहीं है कि यह आपकी समस्या को हल करता है लेकिन यह किसी और को उसी मुद्दे का सामना करने में मदद कर सकता है जैसा मेरे पास था।


इसके अलावा, Flask.run() port तहत है ताकि आप निर्दिष्ट कर सकें कि आप किस पोर्ट का उपयोग करना चाहते हैं, यह Flask.run() लिए काम करता है।

यहां स्रोत प्रलेखन है

उदाहरण:

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)




airplay