Versuche einen IceCast-Server vorzugaukeln.
Das Programm sendet folgende Daten via OnConnect und darauf OnExecute:
Zitat:
Verbinden: SOURCE /stream.ogg HTTP/1.0
Nachricht: User-Agent: Native Instruments IceCast Uplink
Nachricht: Authorization: Basic c291cmNlOmhhY2ttZQ==
Nachricht: Host:
localhost:8000
Nachricht: Accept: */*
Nachricht: Connection: Close
Nachricht: Accept-Encoding: identity;q=0.5, gzip;q=1.0
Nachricht: content-type: application/ogg
Nachricht: ice-name: Traktor Stream
Nachricht: ice-
url:
http://localhost:8000/stream.ogg
Nachricht: ice-genre: Mixed Styles
Nachricht: ice-description: Traktor Stream
Nachricht: ice-bitrate: Quality 0
Nachricht: ice-private: 0
Nachricht: ice-public: 1
Nachricht: ice-audio-info: ice-samplerate=44100;ice-bitrate=Quality 0;ice-channels=2
Durch einen WireShark-Mitschnitt weiß ich, dass mein Server daraufhin den Status-Code 200 senden muss (HTTP/1.0 200 OK).
Zum Probieren schicke ich das bei jedem Aufruf von OnExecute mit, aber es tut sich nichts.
Delphi-Quellcode:
procedure TForm1.ServerExecute(AContext: TIdContext);
begin
Memo1.Lines.Add('Nachricht: ' + AContext.Connection.IOHandler.ReadLn);
AContext.Connection.IOHandler.WriteLn('HTTP/1.0 200 OK');
end;
Was mache ich verkehrt?