본문 바로가기
반응형

전체 글380

[Streaming][Multimedia] 스트리밍의 대표적인 프로토콜, RTSP란? 스트리밍의 대표적인 프로토콜, RTSP에 대해 알아보자 RTSP(Real-Time Streaming Protocol)는 검증된 비디오 프로토콜이다. 두 엔드 포인트 간의 오디오/비디오 전송을 제어하고, 인터넷에서 지연 시간이 짧은 스트리밍 콘텐츠 전송을 용이하게 하는데 사용된다. 한 때 RTSP는 RTMP(Real-Time Messaging Protocol)와 함께 스트리밍 환경을 지배했었다. 요즘에는 더 이상 그렇지 않다. RTSP만 많은 장비와 CCTV(closed-circuit television) 설계에서 표준으로 남아있다. 그 이유는 단순하다: 여전히 IP카메라에서 선택한 프로토콜이기 때문이다. 이 기사에서 우리는 RTSP 사양, RTSP 스트리밍의 역사, 이 프로토콜을 사용하는 일반적인 wor.. 2023. 7. 29.
[네트워크][linux][windows] 네트워크 통신 테스트에 유용한 툴 "socat" 소개 네트워크 통신 테스트할 때, 유용한 툴을 소개합니다. 프록시 서버로 사용할 수도 있고, 간단한 소켓으로 만들 수도 있습니다. 강추!! Socat 이란? Socat은 Gerhard Rieger가 개발한 오픈소스 소프트웨어입니다. Gerhard Rieger는 다목적 소켓 터널링을 위한 유명한 유닉스 소켓 프로그램인 "Netcat"의 저자이기도 합니다. Socat은 Netcat과 유사한 목적을 가지며, 다양한 통신 작업을 수행할 수 있는 강력한 도구로 인기를 얻었습니다. 네트워크 통신을 위한 다목적 소켓 터널링 프로그램입니다. 소켓을 생성하고, 소켓 간 데이터를 전송하고, 소켓을 연결하는 등 다양한 네트워크 작업을 수행할 수 있습니다. Socat는 다양한 운영체에에서 사용할 수 있으며, 프록시 서버, 포트 포.. 2023. 7. 7.
[C++] 멀티스레드에서 안전한 자원 관리 방법 | 병목현상 예방, mutex, lock_guard Thread-safety 변수 구현 방법 multi thread 환경에서 안전성을 갖춘 변수를 구현해보자 int val 변수를 thread-safey 하게 작성하고 싶으면, 보통 int val를 감싸는 커스텀 클래스를 구현하게 된다. 해당 클래스에서는 우리가 사용할 int val 변수를 가지고 있고, 해당 변수의 유일 사용을 보장해줄 mutex 변수도 추가한다. 코드는 아래와 같다. class MyClass { public: MyClass() : val(0), mtx_() {}; ~MyClass() {}; private: int val_; std::mutex mtx_; public: void SetVal(int val) { std::lock_guard lock(this->mtx_); this->val_ .. 2023. 5. 26.
[C++][효율화] 공백 클래스의 크기는? / EBO란? / 최적화 기법 / 바이트 패딩 공백 클래스의 사이즈? Class Empty() {} 예를 들어, 위와 같이 아무런 데이터가 없는 empty 클래스가 있다. 이 공백 클래스의 사이즈는 어떻게 될까? 정의된 데이터가 없으므로 객체는 메모리 사용을 하지 말아야한다고 생각할 수 있지만, 실제로 위 클래스의 사이즈는 1이 나온다. Std::cout 2023. 5. 23.
반응형