분류 전체보기 2432

TCP/IP 소켓 프로그래밍 13장 내용 확인문제

1. 다음 중, 데이터 전송옵션인 MSB_OOB에 대한 설명 중 맞는 것을 모두 고르면? >a. MSG_OOB는 Out-of-band 데이터의 전송을 의미한다. 그리고 이는 다른 경로를 통한 고속의 데이터 전송이라는 의미를 갖는다. d. MSG_OOB는 TCP의 기본 데이터 전송방식을 벗어나지 못한다. 즉, MSG_OOB는 옵션이 지정되더라도 전송순서는 그대로 유지된다. 다만 이는 수신 측에 데이터 처리의 긴급을 요청하는 용도로 사용될 뿐이다. *틀린 설명b. MSG_OOB는 다른 경로를 통한 고속의 데이터 전송이라는 의미를 갖기 때문에, TCP 상에서도 이 옵션을 이용해서 전송된 데이터는 상대 호스트로 먼저 전송된다. ->TCP의 기본 데이터 전송방식에는 다른 경로가 없기 때문에 전송순서는 그대로이다...

스타듀밸리 1년 여름 21~25일차 일기

21일 아침에 물을 주려고 하는데 울타리가 썩어가는 것을 목격했습니다![썩어가는 울타리] 아무래도 나무 울타리이다보니 시간이 지나면 다시 만들어줘야하는 것 같습니다.아직까지는 울타리 안 세워도 별다른 피해를 본 사례가 없기 때문에 당분간은 그냥 울타리를 안 만들 생각입니다. 물을 다 준 다음에는 새로운 닭을 분양받기 위해 마리의 농장으로 향했습니다. 사일로 덕분에 건초는 넘쳐나고 최대로 깔 수 있는 건초의 양이 4개이기 때문에 닭 4마리를 키우는 것이 효율적인 것 같습니다.[이번에는 일본 도시인 오사카라고 이름을 지었습니다] 닭을 분양받은 다음에는 광산으로 향했습니다!70층까지 왔는데도 끝이 안 보이기 때문에 꾸준히 광산으로 가야 밑바닥을 찍을 수 있을 것 같습니다.HP가 아슬아슬했지만 무사히 75층을 ..

명품 C언어 프로젝트 3.6장 연습문제

[1번 문제]/*다음과 같은 메뉴에 의해 실제 값을 입력받아 해당 연산을 처리하는 프로그램을 작성합니다*/#include #include #include #include int menu_display(void);int sub_menu_display01(void);int sub_menu_display02(void);void sub_main01(void);void sub_main02(void); void add(void);void subtract(void);void multiply(void);void divide(void);void remain(void);void press_any_key(void); void naturallog(void);void decimallog(void); int main(void){..

명품 C언어 프로젝트 3.5장 연습문제

[1번 문제]/*[예제 3.5.1]을 이용하여 다음의 [그림 A]와 같이 기본 정사각형 5개를 연속적으로 세로 방향으로 출력하는 프로그램을 작성합니다*/#include void draw_basic_square(void); int main(void){ for (int i = 0; i < 5; i++) { draw_basic_square(); printf("\n"); } return 0;} void draw_basic_square(void){ unsigned char a = 0xa6, b[7], i; for (i = 1; i < 7; i++) b[i] = 0xa0 + i; printf("%c%c", a, b[3]); printf("%c%c", a, b[4]); printf("\n"); printf("%c%c..

TCP/IP 소켓 프로그래밍 12장 내용 확인문제

1. 멀티플렉싱 기술에 대한 일반적인 의미를 말하고, IO를 멀티플렉싱 한다는 것이 무엇을 의미하는지 설명해보자. >멀티플렉싱이란 최소한의 물리적인 요소만 사용해서 최대한의 데이터를 전송하는 기술이다. 마찬가지로 IO 멀티플렉싱이란 IO를 필요로 하는 소켓을 하나로 묶어서 최소한의 리소스 및 프로세스를 이용해서 데이터를 송수신하는 기술을 의미한다. 2. 멀티프로세스 기반의 동시접속 서버의 단점은 무엇이며, 이를 멀티플렉싱 서버에서 어떻게 보완하는지 설명해 보자. >멀티프로세스 기반의 동시접속 서버는 클라이언트가 연결 요청을 할 때마다 추가로 프로세스를 생성해서 서비스를 하는 방식이다. 그런데 프로세스의 생성은 부담이 되는 작업이기 때문에 많은 수의 클라이언트에게 서비스를 제공하기에는 한계가 있다. 반면 ..

기초를 탄탄히 세워주는 C++ 프로그래밍 입문 3장 연습문제

[3.1]/*int형 값에 대한 절대값을 반환하는 함수 Abs를 매크로와 인라인 함수로 구현해 본다.두 경우 모두 다음 코드의 반환값은 2가 되어야 한다Abs(-4+2);매크로 작성 시에는 매개 변수의 처리에 대해 주의해야 할 것이다.이를 통해 매크로보다 인라인 함수의 작성이 보다 쉽다는 것을 느끼게 될 것이다.*/#include using namespace std; /*#define Abs(X) (X>0?X:-X) //매크로*/ inline int Abs(int X){ if (X > 0) return X; else return -X;} int main(void){ cout

스타듀 밸리 1년 여름 16~20일차 일기

16일차는 비가 오는 날이였습니다. 비가 오는날에는 광산을 수월하게 내려갈 수 있기 때문에 광산으로 발을 돌렸습니다![물을 주지 않아도 됩니다][진짜 저 유령 몬스터는 극혐입니다] *유령 몬스터가 극혐인 이유-HP가 상당히 높아 때려도 때려도 안 죽습니다. 박쥐처럼 넉백효과가 나타나서 한번 때리면 멀리 도망가서 잡는데 시간도 많이 소요되고, 몬스터가 저를 때리는데 성공해도 어딘가로 사라져서 시간소모가 배가 됩니다.그렇다고 잡아도 좋은 아이템을 주지도 않습니다 ㅠ 그렇다고 안 잡아도 계속 쫒아다니면서 상당한 데미지를 주기 때문에 얼른 내려가거나 잡을 수 밖에 없습니다. 핵극혐[태양정수랑 금 광석 2개] 저번에는 위 사진처럼 몬스터들이 떼거지로 몰려와서 포기했었지만 오늘은 나름 HP 관리도 잘하고 먹을 열매..

기초를 탄탄히 세워주는 C++ 프로그래밍 입문 2장 연습문제

[2.1] /*int형 변수 2개를 선언하고 cin을 사용하여 값을 입력받도록 한다.그리고 cout을 사용하여 두 값에 대한 사칙연산(+, -, *, /) 결과를 출력해 보도록 한다.어떤 값을 출력하기 위해서는 cout과 출력할 변수를 기술해 주면 된다.그런데 cout의 대상은 변수뿐만이 아니라 상수, 수식, 함수(반환값) 등 어떤 값이 동반되는 경우라면 어느 것이든 될 수 있다.*/#include using namespace std; int main(void){ int num1, num2; cout > num1 >> num2; cout

스타듀 밸리 1년 여름 11~15일차 일기

11일차는 전 포스팅에 언급했듯이 마을 촌장님이 개최하는 루아 축제에 참석했습니다.혹시나 참석 전에 목공소에 가면 사일로를 지을 수 있을까 싶어 목공소에 갔지만 아니나 다를까 로빈은 휴무를 내고 루아축제에 참석한 상태였습니다 ㅠㅠ[저기 가운데 있는게 루아 수프인데... 흠 비주얼이 상당히...][다들 축제를 즐기고 있는데 저 할아버지는 언제나 불만이 가득해보인다][오랜만에 뵙는 시장님][진짜로 저 스프 드실건가요?][진짜 토사물같이 생겼는데...][그래도 아주 맛있는 것은 아니지만 맛은 어느정도 있나 봅니다][역시 축제는 다 주작이야!] 이번에도 괜히 참석했나봅니다. 시장이 저 스프를 먹은 다음 '이제 집에 돌아갈 시간이네'라고 창이 뜨면 22시가 되버립니다.그래도 축제에 참여하면 마을 사람들의 호감을 ..

기초를 탄탄히 세워주는 C++ 프로그래밍 입문 1장 연습문제

[1.1]/*2개의 double형 값(x, y)을 입력받고 두 값에 대한 사칙연산(+, -, *, /) 결과값을 출력해 보라.실행 결과는 다음과 같다. y의 값은 0이 아니라고 가정하라*/#include int main(void){ double num1, num2; printf("두개의 실수 입력:"); scanf("%lf %lf", &num1, &num2); printf("%lf+%lf=%lf\n", num1, num2, num1 + num2); printf("%lf-%lf=%lf\n", num1, num2, num1 - num2); printf("%lf*%lf=%lf\n", num1, num2, num1 * num2); printf("%lf/%lf=%lf\n", num1, num2, num1 / nu..