보통 TCP/IP만 써왔어서 이번에 UDP 관련코딩은 처음 해보는데, bind()를 안하면 왜 수신이 안되는 지, 서버에서 sendto()를 먼저 하면 왜 수신이 안되는지 여기저기 찾아보다 알아낸 내용을 정리해본다. [ UDP (User Datagram Protocol) 통신 ] - 전송 계층의 비연결 지향적 프로토콜 - TCP/IP와 달리 연결 과정이 불필요함 (but, Connect 함수를 사용하는 경우도 존재) - 1:1 뿐만 아니라 1:N, N:N 통신이 가능 - 흐름제어가 없어 패킷의 전송 순서나 수신 여부에 관한 오류를 확인할 수 없음 - 신뢰성보다 속도와 성능이 중요시 되는 경우(ex. 실시간서비스)에 사용함 UDP/IP 통신에서는 TCP/IP의 read(), write() 대신 recvfr..
1. 문제 요약 자연수 M과 N이 주어질 때, M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를들어, M = 60, N = 100인 경우, 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고 최솟값은 61이다. 2. 예제 입력 60 100 64 65 3. 예제 출력 620 61 -1 4. 코드 #include using namespace std; int main() { int max, min; int count = 0; // 나눠떨어지는 수의 갯수 int nCount = 0; // 소수 갯수 int result = 0, minNumber; // 합, 소..
1. 문제 요약 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 첫 줄에 수의 개수 N이 주어지고, N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1000이하의 자연수이다. 2. 예제 입력 4 1 3 5 7 3. 예제 출력 3 4. 코드 #include using namespace std; int main() { int num = 0; int count = 0, result = 0; cin >> num; int* arr = new int[num]; for (int i = 0; i > arr[i]; for (int j = 1; j
1. 비트구조체란? - 비트(Bit)를 멤버로 가지는 구조체로, Bit Field라고도 함 2. 선언 방법 typedef struct 구조체명 {변수타입 멤버1 : 비트수, 멤버2 : 비트수,..... 멤버n : 비트수;} 구조체변수명; - 비트 수는 원칙적으로 정수만 가능하며, 변수의 크기와 할당한 비트수의 합은 일치해야 함! ex) UINT16을 이용해 비트를 할당했으면, 비트수의 합은 16이 되어야 함 - 일반적으로 비트로 표현해야 할 정보는 수치값이라기보다는 기호, 표식인 경우가 많아 부호를 쓰는 경우는 드물고, 따라서 비트 구조체의 멤버들은 보통 unsigned 타입 3. 예제 typedef struct Bit_Field { UINT32 m_DataBit1 : 4, // UINT32(부호없는 3..
1. 헤더파일 - #include : srand()의 인자로 사용되는 time 함수를 사용하기 위함 - #include : rand(), srand() 함수 사용을 위함 2. srand() - 호출할 때 전달받는 인자를 기반으로 난수를 초기화하는 함수 - time(NULL) : 1970년 1월 1일 0시 (TimeZone : UTC) 이후부터 인자값까지 현재까지 흐른 초 수를 리턴해 줌 - srand 함수의 인자로 time(NULL)을 넘긴 후 rand 함수를 호출하면, 시간을 기준으로 초기화되는 난수를 생성할 수 있어 프로그램을 실행할 때 마다 다른 난수 값을 얻을 수 있음 3. rand() - srand()로 인해 생성된 갓을 바탕으로 난수를 생성하는 함수 - 생성되는 난수의 범위를 지정하는 방법 1..
C++ 클래스의 객체 생성 방법에는 다음과 같은 2가지 방법이 있다.간단하게 말하자면, 두 방식의 차이는 '메모리가 어떤 영역에 할당되느냐' 의 차이! 1. 일반적인 객체 생성 방법 - 형식 : 클래스명 객체명; TestClass test; - 메모리가 할당되는 영역 : 스택(Stack) 영역 - 할당 된 메모리는 함수 호출 완료 시 자동으로 해제 됨 2. 객체 동적 할당 - 형식 : 클래스명 *객체명 = new 클래스명(); TestClass *test = new TestClass(); 또는 TestClass *test; test = new TestClass(); // 메모리 동적 할당 - 메모리가 할당되는 영역 : 힙(Heap) 영역 - 할당 된 메모리는 사용자가 delete를 사용하여 임의로 해제하..
** SingleTon Pattern 프로그램 상에서 단 하나의 객체만이 존재해야 할 때 사용하는 것이 일반적이며, 다음과 같이 사용 ----- SingleTon.h ----- private: Singleton() {} // 생성자는 반드시 private, protected에! static Singleton* inst; // 어디서든 싱글톤 객체에 접근할 수 있게 하기위해 static 으로 선언 public: static Singleton* Instance(); void ShowMessage(); } ----- SingleTon.cpp ----- Singleton* Singleton::Instance() { if(!inst) // 인스턴스가 존재하지 않으면 생성자를 통해 싱글톤 객체 생성 , 존재하면 그..
** this 라는 것은 객체 자신에 대한 포인터로써, 클래스의 멤버함수 내부에서 사용 가능! 그렇담, this는 왜 사용하는 것일까? → 1. 객체 자기 자신의 주소를 리턴하기 위해 2. 클래스의 멤버변수와 매개변수가 동일할 때, 이를 구분짓기 위해 3. 생성자나 멤버함수를 만들 때, 매개변수를 입력할 경우 #include using namespace std; class MyData { private: int data; public: void SetMyData(int param_data) { this->data = param_data; // 클래스의 멤버변수인 data에 param_data 값을 대입하겠다는 의미 // data와 param_data처럼 변수 명이 다를 경우는 굳이 this 안써도 됨 }..
- Total
- Today
- Yesterday
- 브리달메이다이아
- 본식맞춤예복
- 브리달메이
- 종로결혼반지추천
- 광명 본식 dvd
- C++
- 롯데리아
- 가성비맞춤정장
- 가성비예복
- 광명무역센터컨벤션
- 본식예복
- 브리달메이웨딩밴드
- 라레토추천인
- 광명 무역센터 블랑논
- 종로브리달메이
- 백준알고리즘
- 브리달메이결혼반지
- 부평
- 그래픽카드후기
- MFC
- 광명무역센터컨벤션 #본식스냅 #메인스냅 #서브스냅 #촬영후기 #1인작가 #대표작가 #하루그라피
- 무한리필
- 부평맛집
- 가산디지털단지 맛집
- 광명무역센터컨벤션 dvd
- Visual Studio
- 종로다이아반지추천
- 라레토페이백
- 냉면
- 종로프로포즈링추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |