var fRequestBuffer: PChar;
fRequestBuffer = ‘OPTIONS rtsp://127.0.0.1:554/video/test.ts RTSP/1.0'#$D#$A'CSeq: 2'#$D#$A'User-Agent: LibVLC/3.0.7.1 (LIVE555 Streaming Media v2016.11.28)'#$D#$A#$D#$A
tmpPtr := fRequestBuffer表示tmpPtr指向了该字符串,此时指针位置是O,Inc(tmpPtr)每运行一次位置向后移动一位,依次是P,T,I,O,N,S。。。。。。
此时tmpPtr的值也在随之变化,字符串在减小
OPTIONS rtsp://127.0.0.1:554/video/test.ts RTSP/1.0'#$D#$A'CSeq: 2'#$D#$A'User-Agent: LibVLC/3.0.7.1 (LIVE555 Streaming Media v2016.11.28)'#$D#$A#$D#$A
PTIONS rtsp://127.0.0.1:554/video/test.ts RTSP/1.0'#$D#$A'CSeq: 2'#$D#$A'User-Agent: LibVLC/3.0.7.1 (LIVE555 Streaming Media v2016.11.28)'#$D#$A#$D#$A
TIONS rtsp://127.0.0.1:554/video/test.ts RTSP/1.0'#$D#$A'CSeq: 2'#$D#$A'User-Agent: LibVLC/3.0.7.1 (LIVE555 Streaming Media v2016.11.28)'#$D#$A#$D#$A
if tmpPtr < fRequestBuffer then
tmpPtr := fRequestBuffer;
while tmpPtr < @ptr[newBytesRead-1] do
begin
if (tmpPtr^ = #13) and ((tmpPtr+1)^ = #10) then
begin
//tmpPtr = #$D#$A#$D#$A
//fLastCRLF = #$D#$A#$D#$A
if tmpPtr - fLastCRLF = 2 then
begin // This is it:
endOfMsg := True;
break;
end;
fLastCRLF := tmpPtr;
end;
Inc(tmpPtr);
end;