본문 바로가기
반응형

전체 글73

[C Socket Programing] servent 구조체(servent structure) Servent servent 구조체를 이해하기 위해서는 소켓 프로그래밍 자체뿐만 아니라 네트워크 흐름에 대해서 알면 이해가 쉽다. 처음 봤을 때는 이해가 되지 않았으나 방화벽등 네트워크 장비를 만지다 보니 이해가 되었다. getservent(), getservbyname(), getservbyport() 등과 같은 함수와 같이 쓰이며 주로 /etc/services의 정보를 읽어 사용한다. DNS를 알아내거나 서비스(포트 주소) 자체를 이용하기 위해 사용한다. Servent 구조체 struct servent{ char *s_name; char **s_aliases; int s_port; char *s_proto; } servent구조체는 이와 같이 정의되어 있다. s_name : 서비스 이름, 포트명 s_.. 2021. 6. 7.
네트워크 장비 스위치 Switch 와 종류 스위치와 허브 스위치는 각각의 단말기에 할당되는 속도를 최대화하여 효율적으로 네트워크를 사용하도록 하는 장치이다. 스위치 이전에 쓰던 허브는 단순히 대역폭을 고정적으로 나눠가지지만 스위치의 경우 효율적으로 최대한 속도가 나오도록 한다. 스위치는 계층별로 여러 개의 스위치가 있으며 하드웨어적으로 직접 처리하기 때문에 속도가 매우 빠르다. 허브는 초기에 여러 단말기를 사용하기 위해 또는 작은 네트워크를 구성하기 위해 사용하던 장비이다. 저렴하고 간단하지만 속도가 느리다. 모든 패킷을 브로드캐스트로 보내게 된다. 이런 모든 단말기로 패킷을 보내는 것을 플러딩(Flooding)이라 한다. 반이중(half-duplex) 방식으로 통신을 하기에 충돌 가능성이 높은 편이고 때문에 네트워크 지연이 발생할 수 있다. 스.. 2021. 6. 6.
C++ STL Set 컨테이너,멤버 함수 사용 SET 컨테이너 집합의 의미로 쓰이는 set은 중복 요소가 없으며 균형 이진트리로 구현된 연관형 컨테이너이다. 원소들의 집합으로 되어 있다. Set도 매우 유용하지만 set보다는 보통 multi set을 사용할 때가 더 많았다. set은 절대 중복 원소가 없어야 할 경우에만 사용한다. 생성자 set s : 빈 set 생성 set s : p 조건자로 정렬한 빈 s생성 멤버 함수 size() : s의 원소 개수 count(x) : 원소 x의 개수 반환 begin() : 처음을 가리키는 반복자 반환 rbegin() : 처음을 가리키는 역순차열의 반복자 반환 end() : 마지막을 가리키는 반복자 반환 rend() : 마지막을 가리키는 역순차열의 반복자 반환 clear() : 모은 요소 제거 empty() : .. 2021. 6. 5.
C++ STL List 컨테이너 List 컨테이너 list 컨테이너는 노드 기반 컨테이너로 데이터가 노드 단위로 저장되고 이중 연결 리스트로 구현되어있다. Vector와는 노드단위로 저장되는 점에서 차이가 있다. 생성자 list list : 빈 list 생성 복사 생성자를 제공한다. 멤버 함수 assign(n, x) : x값으로 n개의 원소를 할당 front() : 첫 번째 원소 참조 back() : 마지막 원소 참조 begin() : 첫 원소를 가리키는 반복자 반환 rbegin() : 첫 원소를 가리키는 연 순차 열의 반복자 반환 end() : 마지막 원소를 가리키는 반복자 반환 rend() : 마지막 원소를 가리키는 역순 차열의 반복자 반환 clear() : 모든 원소 제거 empty() : 비었는지 검사 erase(x) : x가 .. 2021. 6. 1.
연결리스트 - 단순연결리스트 with C Linked List 링크를 가진 노드들의 순열이다. 배열은 메모리와 밀접하게 연관이 있지만 연결리스트는 무조건적으로 연관되지 않는다. 삽입과 삭제가 비교적 간단하고 최대 크기가 정해져 있지 않다. 포인터로 구현할 수 있으며 노드는 데이터와 포인터로 나눌수 있다. head로 시작하여 노드들의 연속을 볼 수 있다. 노드에는 데이터를 저장하는 데이터부와 다음 노드를 지정하는 포인터로 구분한다. 포인터에는 다음 노드의 시작 주소를 가리키게 된다.(구조체의 주소는 구조체의 시작 주소와 같다.) C에서 구조체를 이용하여 노드를 구현하고 포인터는 구조체 포인터로 지정한다. 마지막 노드는 다음 노드가 없으므로 NULL 값으로 지정된다. 노드 구성 및 생성 노드 구조체 struct node{ int data; stru.. 2021. 5. 29.
C++ STL Deque 컨테이너 Deque deque는 vector 컨테이너와 아주 유사한 컨테이너로 순차 컨테이너(sequence container)이다. Vector와 크게 다르지 않으며 다른 점은 메모리 블록 할당 정책이다. Vector는 원소가 추가될 때마다 메모리를 재할당하고 복사 과정이 일어나는데 deque는 새로운 메모리를 할당하여 원소를 추가한다. 생성자 deque dq : 빈 deque를 생성 deque dq(n) : n만큼의 크기의 deque 생성 deque dq(n, x) : x로 채워진 n만큼의 크기를 생성 멤버 함수 assign(n, x) : x값으로 n개 할당 at(i) : i번째 원소를 참조 front() : 첫 번째 원소 참조 back() : 마지막 원소 참조 begin() : 처음을 가리키는 반복자 end.. 2021. 5. 27.
반응형