Das Henne-Ei-Problem

Wenn wir unsere Webanwendung starten, sollte sie sinnvollerweise die Ist-Werte des Players bei der Lautstärke und des Titels anzeigen. Es liegt nahe, dass der Server automatisch diese Werte an den Client übermittelt, sobald eine Verbindung hergestellt wurde. Allerdings muss der Verbindungsaufbau nicht automatisch heißen, dass der Client mit der Datenübertragung bereits etwas anfangen kann oder will.

Stellenmarkt
  1. Referent (w/m/d) für die Arbeitsgruppe "Informations- und Kommunikationstechnik"
    Ministerium des Innern und für Kommunales des Landes Brandenburg, Potsdam
  2. IT-Leiter m/w/d
    über KISSLING Personalberatung GmbH, Großraum Balingen/Oberndorf a.N./Schömberg/Rosenfeld
Detailsuche

Es bietet sich also an, dass der Client entweder ein Initial-Kommando sendet oder explizit die Infos anfordern kann, ohne vorher ein Player-Kommando zu übermitteln beziehungsweise die Lautstärke zu ändern. Ein Initial-Kommando könnte bei unserer Problemstellung auch damit einhergehen, überhaupt erst die Bluetooth-Verbindung aufzubauen - doch zu dieser Problematik mehr im nächsten Abschnitt.

Wir haben uns entschieden, explizit die Infos anzufordern. Dazu gibt es das spezielle Kommando nop (kurz für No Operation), das eben nicht per Bluetooth weitergeleitet wird. Es wird nur vom Websocket-Server beachtet und er sendet daraufhin einfach die aktuell vorliegenden Informationen.

Doch woher bekommt der Server die Daten vom Musikplayer? Er kann nach dem Verbindungsaufbau mit dem Peripheral die entsprechenden Eigenschaften lesen. Allerdings hatten wir bei den ersten Schritten zu Debugging-Zwecken eine andere Logik implementiert, die auch jetzt noch präsent ist: Wenn ein Central, also unser Server, eine Eigenschaft abonniert, wird der Wert der Eigenschaft auch sofort an den Abonnenten geschickt. Praktisch ist das ein Test, ob die Verbindung tatsächlich in beide Richtungen funktioniert.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Binäre Daten statt TextVerbindungsprobleme 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14.  


Anonymer Nutzer 28. Jul 2014

Ich würde sagen hier könnte man eleganter und auch verhältnismäßig preiswert mit Zigbee...

savejeff 24. Jul 2014

perfekt! die Artikel sind echt zeitlos. ich werde noch ein paar Artikel nachholen.

holminger 24. Jul 2014

Meine RasPis dienen einmal als AirPrint-Server für einen 15 Jahre alten Kyocera...

currock63 23. Jul 2014

die guten alten Zeiten der c't, als es noch in fast jeder Ausgabe etwas zum selber...



Aktuell auf der Startseite von Golem.de
CoreELEC/LibreELEC
Smart-TV mal anders

Eine TV-Box Marke Eigenbau bringt Spaß und Gewissheit über unsere Daten. Die Linux-Distributionen CoreELEC und LibreELEC eignen sich da besonders.
Eine Anleitung von Sebastian Hammer

CoreELEC/LibreELEC: Smart-TV mal anders
Artikel
  1. Softwarepatent: Uraltpatent könnte Microsoft Millionen kosten
    Softwarepatent
    Uraltpatent könnte Microsoft Millionen kosten

    Microsoft hat eine Klage um ein Software-Patent vor dem BGH verloren. Das Patent beschreibt Grundlagentechnik und könnte zahlreiche weitere Cloud-Anbieter betreffen.
    Ein Bericht von Stefan Krempl

  2. Amazon: Fire TV Stick 4K Max erhält erweiterte Heimkinofunktion
    Amazon
    Fire TV Stick 4K Max erhält erweiterte Heimkinofunktion

    Mit einem geplanten Update kann der Fire TV Stick 4K Max den Klang anderer Zuspielgeräte auf Echo-Lautsprechern ausgeben.

  3. Krypto: Angeblicher Nakamoto darf 1,1 Millionen Bitcoin behalten
    Krypto
    Angeblicher Nakamoto darf 1,1 Millionen Bitcoin behalten

    Ein Gericht hat entschieden, dass Craig Wright der Familie seines Geschäftspartners keine Bitcoins schuldet - kommt jetzt der Beweis, dass er Satoshi Nakamoto ist?

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Kingston PCIe-SSD 1TB 69,90€ & 2TB 174,90€ • Samsung Smartphones & Watches günstiger • Saturn-Advent: Xiaomi Redmi Note 9 Pro 128GB 199€ • Alternate (u. a. Razer Opus Gaming-Headset 69,99€) • Release heute: Halo Infinite 68,99€ • MM-Aktion: 3 Spiele kaufen, nur 2 bezahlen [Werbung]
    •  /