분류 전체보기 328

[TCP/IP 소켓 프로그래밍] 10. 멀티태스킹 기반의 서버구현

10-1 다중 접속 서버의 구현 방법들 ※ 클라이언트의 (여러명)다중 접속을 허용(concurrent server). 리눅스 기반의 다중 접속 서버 구현 방법들 1. 프로세스 생성을 통한 멀티태스킹(Multitasking) 서버의 구현 2. select 함수에 의한 멀티플렉싱(Multiplexing) 서버의 구현 3. 쓰레드 기반으로 하는 멀티쓰레딩(Multithreadi..

[TCP/IP 소켓 프로그래밍] 9. 소켓의 다양한 옵션

9-1 소켓의 옵션 1. 소켓의 옵션 조작 : 소켓의 기본적인 특성(다양함)을 변경하는 것. ※ 운영체제에 의해 관리. 운영체제는 소켓의 특성에 대한 정보를 보관하고 있다. 2. 소켓의 기본적인 특성 - 입력 및 출력 버퍼의 크기 - 데이터 전송 방식(TCP 또는 UDP) - TTL(Time To Live) : 건너뛸 수 있는 라우터의 개수. ..

[TCP/IP 소켓 프로그래밍] 8. 도메인 이름과 인터넷 주소

8-1. DNS(Domain Name System) 1) 도메인 이름이란? 1. 영문으로 표현되는 계층적 주소 체계 방식. ※ IP 이후에 도메인이 나왔음. 중복되면 안 된다. 2. 각 나라마다 존재하는 Network Information Center에서 관리. => 약속 한국은 KRNIC(http://www.nic.or.kr, Korea Network Information Center)에서 담당. 3. 도메인 이름 = 호스트 이름 + ..

[TCP/IP 소켓 프로그래밍] 7. 소켓 연결의 우아한 종료

※ 연결에 대한 내용이므로 TCP/IP 프로토콜에 대한 이야기. ※ 우아한 종료 = graceful close. (MSDN 참고) 7-1 소켓 연결 종료의 문제점 2개의 가상의 통로가 생성 (각 통로는 단방향) 스트림 : 연결된 상태 (데이터를 주고 받을 수 있도록 연결된 시스템의 내부적인 상황) 입력 스트림 : 데이터 수신을 위한 스트..

[TCP/IP 소켓 프로그래밍] 6. UDP 기반 서버/클라이언트

※ TCP와 UDP를 특징을 비교하면서 공부하는 것이 좋다. 6-1. UDP의 이해 1. IP를 기반으로 데이터를 전송한다. (TCP와 공통점) 2. 흐름제어(flow control)을 하지 않기 때문에 데이터 전송을 보장 받지 못한다. (TCP와 차이점) 3. 연결설정 및 연결 종료 과정도 존재하지 않는다. (TCP와 차이점) 4. 연결 상태가 존재하..

[TCP/IP 소켓 프로그래밍] 5. TCP 기반 서버/클라이언트2

5-1. 에코 클라이언트! TCP 기반에서의 완벽 구현 TCP 기반의 데이터 전송 특징 한 번의 데이터 전송함수 호출이 늘 하나의 패킷을 형성하는 것은 아니다. ※ 버퍼 : 서버 프로그램 상의 문자 배열. ※ ABCD를 클라이언트에서 서버로 보냈지만 A,B,C,D와 같이 패킷이 나누어져서 서버가 클라이언트로 보낼 수 ..