union 활용법 (2) 썸네일형 리스트형 원형 큐(circuit queue) 예제 통신을 위한 메시지 큐나 순환되는 큐 구조를 만들고 싶을 때 원형 큐를 많이 사용한다. C로 구현한 원형 큐 구현 예제는 인터넷에 많으므로 원형 큐의 데이터를 구조체로 체우는 예제를 공유해 본다. Queue 사이즈를 동적으로 만들기 위해서 MaxSize를 사용했을 뿐 이와 같은 작업이 필요 없다면 MAX_SIZE로 대체 가능하다. 원형 큐에 들어가는 구조체 데이터는 typedef P_convert element이며 P_convert는 구조체이다. P_convert 대신에 자신이 원하는 구조체를 만들어 사용하면 된다. 파일명: packet_queue.h #include "server_type.h" #define TRUE 1 #define FALSE 0 #define ERROR -1 #define MAX_S.. C Socket 사용시 주의점 Endian 맞추기 C에 TCP Socket에서는 Default으로 Big Endian을 사용한다 때문에 Port 나 IP 정보는 BigEndian으로 날아가는데 칩셋에 따라 Endian이 바뀌기 때문에 해당 칩셋을 확인 후에 보내는 곳의 칩셋과 받는 곳의 칩셋을 맞추어 보내주어야 한다. 동일 개발환경이라면 사실 신경 안 써도 되는 부분이며 주의사항만 알고 개발하면 된다.(Endian 관련 블로그가 많다) **만약 주고받는 곳 중 하나가 임베디드 시스템이라면 PC 쪽에서 변환하거나 받는 것을 추천한다.(메모리 사용량 최소화) Write/ read 사용 시 주고받는 메모리 사이즈 맞추기 보내는 Packet size와 받는 Packet 설정 size가 맞아야 한다. 받는 버퍼의 초과 분만큼 read를 더 수.. 이전 1 다음