분류 전체보기70 Ch 06. 내용 확인문제 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! 01. TCP보다 UDP가 빠른 이유는 무엇인가? 그리고 TCP는 데이터의 전송을 신뢰할 수 있지만 UDP는 신뢰할 수 없는 이유는 또 무엇인가? TCP와 UDP의 가장 큰 차이점은 바로 흐름제어(Flow Control)의 유무이다. 흐름제어는 TCP의 연결설정 과정, 데이터 송수신 과정, 연결해제 과정 전반에 걸쳐 발생한다. 이 과정에서 TCP는 데이터 전송의 신뢰성을 확보하나 그만큼 속도가 느려지게 된다. 반면에, UDP는 이러한 흐름제어의 과정이 필요 없으므로(TCP와 다르게 소켓이 연결되어 데이터 송수.. 2020. 8. 8. Ch 06. UDP 기반 서버/클라이언트 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # UDP 소켓의 특성 1) 장점 - TCP보다 간결한 구조로 설계됨 => 상황에 따라 좋은 성능 발휘 - 프로그래밍 관점에서 구현이 용이함 - 생각만큼 데이터 손실이 자주 발생하지 않음 => 신뢰성보다 성능이 중시되는 상황에서 좋은 선택이 될 수 있음 2) 단점 - 상대방의 수신여부를 알 수 없음 - 전송 도중에 분실될 확률이 있음 - 신뢰할 수 없는 전송방법을 제공함 - 데이터를 전송할 때마다 반드시 목적지의 주소정보를 별도로 추가해야 함 (TCP처럼 연결된 상태가 아니기 때문) # TCP는 신뢰성 없는 .. 2020. 8. 8. Ch 05. 내용 확인문제 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! 01. TCP 소켓의 연결설정 과정인 Three-way handshaking에 대해서 설명해 보자. 특히 총 3회의 데이터 송수신이 이뤄지는데, 각각의 데이터 송수신 과정에서 주고 받는 데이터에 포함된 내용이 무엇인지 설명해 보자. - SYN(동기화 메시지), ACK(응답 메시지) 를 의미 1) SYN => SEQ : 1000(A소켓이 패킷에 1000번이라는 번호를 부여하여 B소켓에 전달), ACK : - 2) SYN + ACK => SEQ : 2000(B소켓이 패킷에 2000번이라는 번호를 부여하여 A소켓에.. 2020. 8. 6. Ch 05. TCP 기반 서버/클라이언트 2 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 에코 서버는 문제가 없고, 에코 클라이언트만 문제가 있나요? - Ch 04에서 구현한 에코 서버/클라이언트에서 우리는 클라이언트에 문제가 있음을 공부했다. - 그렇다면 정확히 왜 에코 클라이언트에 문제가 있는걸까? 코드를 보며 살펴보자 - echo_server.c 중 일부 while((str_len=read(clnt_sock,message,BUF_SIZE))!=0) // 클라이언트로부터 수신한 문자열이 있을때에 write(clnt_sock,message,str_len); // 그 문자열을 그대로 에코(그러.. 2020. 8. 6. 이전 1 ··· 12 13 14 15 16 17 18 다음