본문 바로가기

전체 글

(774)
Socket, 멀티 캐스트 & 브로드 캐스트 [1. 개요]멀티 캐스트(Multicast) 통신에서 데이터 전송은 특정 그룹에 등록되어 있는 다수의 호스트를 대상으로 한다.즉, 한번에 전송으로 다수의 호스트가 이를 수신 할 수 있다는 것이다. 이러한 멀티 캐스트 통신은 UDP 를 기반으로 하며, 라우터의 도움이 필요하다.라우터가 패킷을 복사하여 다수의 호스트에 이를 전달.라우터가 멀티 캐스트를 지원하지 않을 수 도 있다.특정 그룹은 클래스 D 에 속하는 IP 주소를 대상으로 한다.224.0.0.0 ~ 239.255.255.255브로드 캐스트(Broadcast) 통신 역시 UDP 를 기반으로하며, 멀티 캐스트와 유사하나, 전송 범위에서 그 차이가 있다.동일 네트워크에 속해있는 호스트로 그 대상이 제한된다.또한, 브로드 캐스트 통신이라 하더라도 IP 주..
Segmentation fault 해결 (C++) [1. 개요]C++ application 에서 발생한 Segmentation fault(Core dumped) 오류 해결 사례[2. 원인]재귀 함수의 recursion 이 깊어지는 경우 주로 발생했는데,아래 컴파일 경고가 발생한 함수에서 런타임 오류가 발생waring: control reaches end of non-void function [3. 해결]해당 함수의 리턴은 딱히 쓰는 데가 없어서 함수의 return type 을 void 로 바꿈.[4. 결론]함수의 리턴 값을 정확히 명시하지 않는 경우, 최악의 상황에서 app 이 crash 가 발생할 수 있다.
윈도우 컴파일 에러. [No Target Architecture] [1. 개요]윈도우 System api 를 사용해서, c++ application 소스 코드 작성 후, cmake 를 이용하여, 윈도우 visual studio 빌드 환경을 구축하였다. 컴파일을 진행 하니, Fatal error: "No Target Architecture" 가 발생하면서, 컴파일 실패함.[2. 해결 방법]여러가지 솔루션들이 있었으나, 나의 경우#include 를 다른 윈도우 api header 보다 먼저 include 하는 것 이었다.// Before#include #include #include /*****/ // After#include /*****/#include #include  그 외 부가적으로, CMAKE_GENERATOR_PLATFORM 를 x64 로 명시WIN32_L..