Ich schreibe eine Java-Client-Anwendung, um Live-M-JPEG-Video von einer IP-Kamera zu empfangen. Das Video wird von der Kamera als endlose mehrteilige HTTP-Nachricht gesendet, wobei jeder Teil ein einzelner JPEG-Frame ist. Ich muss jeden dieser Frames so verarbeiten, wie sie ankommen, also hoffe ich, dass es eine Möglichkeit gibt, eine HTTP-Anfrage zu machen, die ein Ereignis asynchron auslöst, wenn jeder Nachrichtenteil/Videoframe empfangen wird.Java: Empfangen einer mehrteiligen HTTP-Antwort
Kennt jemand Bibliotheken, die dies tun können? Alle Beispiele, die ich bei Google finden kann, funktionieren nicht, weil sie blockierende Aufrufe verwenden, die die Antwort nur analysieren und in Teile aufteilen, nachdem die gesamte Antwort empfangen wurde (was offensichtlich bei einer endlosen Antwort nicht funktioniert).
Ich weiß, ich könnte die Daten manuell in Teile zerlegen, wie es ankommt, indem ich nach der Nachrichtengrenze suche, aber es fühlt sich an, als würde ich das Rad neu erfinden.
Ich schaute auf die Dokumentation für diese Bibliothek und es sieht aus wie es nur für das Parsen von mehrteiligen HTTP-Anfragen, nicht Antworten ist. Gemäß diesem Thread kann es nicht verwendet werden, um mehrteilige Antworten zu analysieren: http://markmail.org/message/l6t46xzmikkbxo2e. Ich schaue in Mime4j, die sie in dem Link erwähnen. – user52386