본문 바로가기

Programming

주소 체계와 데이터 정렬 1 주소 체계와 데이터 정렬 1 1. Internet Address IP 주소란, 인터넷상에 존재하는 호스트들을 구분하기 위한 32비트 주소 체계를 의미한다. 일반적으로 점이 찍힌 십진수 표현 방식(Dotted-decimal Notation)을 사용해서 IP 주소를 표현하는데, 점에 의해 구분되는 각각의 십진수 값은 1바이트로 표현된다. 따라서 총 4바이트를 사용하게 된다. 4바이트 IP 주소는 네트워크 주소와 호스트 주소로 나뉘며, 주소의 형태에 따라 A,B,C,D,E 클래스로 분류할 수 있다. 2. Port란 무엇인가? 32비트 IP 주소로는 네트워크상에 존재하는 호스트를 구분하게 되고, 16비트 Port정보로는 호스트 내에서 실행되고 있는 프로그램을 구분하게 된다. 이것은 물리적인 개념의 할당이 아니라.. 더보기
소켓의 생성과 프로토콜의 설정 소켓의 생성과 프로토콜의 설정 1. 프로토콜의 정의 프로토콜이란 '컴퓨터 상호간의 대화에 필요한 통신 규약'을 의미 한다. 그러나 네트워크 프로그래밍에서 프로토콜이란 용어는 조금 더 다양하게 사용된다. 2. 소켓의 생성 소켓을 생성하기 위해서 리눅스 윈도우즈 공통으로 socket이란 함수를 사용하게 된다. socket 함수는 호출 시 시스템 내부적으로 소켓을 생성하고 그 소켓을 조작하기 위해 필요한 파일 디스크립터를 리턴하는 함수이다. 시스템 내부적으로 소켓을 생성한다는 의미는 호스트가 통신을 하기 위해 필요한 리소스를 할당하는 것을 의미한다. #include #include // 성공 시 파일 디스크립터, 실패 시 -1 리턴 int socket(int domain, int type, int protoc.. 더보기
네트워크 프로그래밍과 소켓의 이해 네트워크 프로그래밍과 소켓의 이해 1. 네트워크 프로그래밍의 이해 네트워크 프로그래밍이란?멀리 떨어져 있는 호스트들이 서로 데이터를 주고 받을 수 있도록 프로그램을 구현하는 것이다. 파일과 달리 데이터를 주고 받을 대상이 멀리 떨어져 있기 때문에 소프트웨어 차원에서 호스트들간에 연결을 해주는 장치가 필요하다. 이러한 기능을 해주는 장치를 소켓(socket)이라 한다. 일반적으로 소켓 프로그래밍이라는 용어와 네트워크 프로그래밍이라는 용어는 같은 의미로 사용되고 있다. 2. 소켓 이해하기 1. 서버 소켓 구현의 이해소켓이란 멀리 떨어져 있는 두개의 호스트(host)를 연결시켜 주는 매개체 역할을 한다. 네트워크 프로그래밍에서 소켓이 필요한 이유는 바로 그것이다. 다음은 소켓을 생성하는 함수 선언이다. #in.. 더보기
Codeforces Problem 495A : Digital Counter Codeforces Problem 495A : Digital Counter http://codeforces.com/contest/495/problem/A #include using namespace std; int main() { const int table[] = { 2, 7, 2, 3, 3, 4, 2, 5, 1, 2 }; int in_floor; scanf("%d", &in_floor); printf("%d\n", table[in_floor / 10] * table[in_floor % 10]); return 0; } 더보기
Cryengine Training Series Cryengine Training Series 더보기