1
저는 Boost Asio로 정말 작은 RTSP 클라이언트를 구현하려고합니다. SETUP
서버에 PLAY
명령을 전달한 다음 나중에 어느 시점에 TEARDOWN
을 요청하면됩니다.간단한 RTSP 클라이언트 구현/예제
구현 자체가 무슨 문제입니까? 내가 Wireshark와 함께이를 보내고 잡으면 지금
boost::asio::streambuf request;
std::ostream request_stream(&request);
request_stream << "DESCRIBE " << "rtsp://192.168.0.42/mpeg4?multicast/ RTSP/1.0\r\nCSeq: 1\r\n";
boost::asio::write(socket, request);
, 그것을 : 연결 자체가 내가 TCP 연결
tcp::resolver resolver(*io_service);
tcp::resolver::query query("192.168.0.42","554");
tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
tcp::resolver::iterator end;
tcp::socket socket(*io_service);
boost::system::error_code error = boost::asio::error::host_not_found;
while (error && endpoint_iterator != end)
{
socket.close();
socket.connect(*endpoint_iterator++, error);
}
그런 메시지 자체는 다음과 같이 공식화를 원하는 것처럼 내가 그것을 위해 RTSP 메시지로 인식하지 못합니다.
그래서 내가 뭘 잘못하고 있니? 나는 다만 나의 시내에있는 요구를 틀리게 공식화하고 있는가? 아니면 전혀 다른 유형의 연결을 사용해야합니까?
간단한 RTSP 클라이언트를 구현하는 방법에 대한 예가 있습니까? 나는 아무것도 찾을 수 없었다. libcurl
과 같은 다른 라이브러리는 사용하지 말고 직접 구현해야합니다.
하하하하니, 저는 정말 그 하나의 새로운 라인을 놓쳤습니다 ... – Toby