컴퓨터 공부 309

[TCP/IP 소켓 프로그래밍] 16. 입력과 출력 스트림의 완벽 분리

16-1. 스트림의 분리 입출력 스트림의 분리 입력을 위한 파일포인터와 출력을 위한 파일 포인터를 독립적으로 유지. 스트림을 분리하는 이유 프로그래밍을 단순하게 한다. 입출력 겸용 스트림의 경우 입출력 작업 전환시 버퍼를 비워야 한다. 일반적인 프로그래밍 방식. 주의할 사항 출력 스트림 종료..

[TCP/IP 소켓 프로그래밍] 15. 소켓과 표준 입출력

15-1. 표준 입출력 함수의 장점 표준 입출력 함수의 장점 이식성이 좋아진다. - 모든 시스템은 ANSI 표준 C를 지원한다. 효율성을 높일 수 있다. - 표준 입출력 함수에 의한 버퍼를 제공받는다. (표준 입출력버퍼, 소켓 버퍼) - 소켓 생성 버퍼 목적 : 프로토콜의 완성을 위한 것. - 표준 입출력 버퍼 목적 : 성..

[TCP/IP 소켓 프로그래밍] 14. Multicast & Broadcast

유선 : 고객에게 서비스를 제공. 멀티캐스트 방식(가입이 필요) 안테나 방송 : 서비스를 지정된 채널로 제공. 브로드캐스트 방식(가입 필요 없음) 14-1. 멀티캐스트(Multicast) 멀티캐스트 전송 방식. UDP를 기반으로 하는 전송 방식. 멀티캐스트 그룹(클래스 D에 속하는 IP주소)을 기반으로 멀티캐스트 패킷을 ..

[TCP/IP 소켓 프로그래밍] 13. 고급 입출력 함수

13-1. recv & send 입출력 함수 read & write 함수와 달리 데이터 입출력 방법에 있어서 옵션 부여. #include<sys/types.h> #include<sys/socket.h> int recv(int sock, void *buf, int len, unsigned int flags); int send(int sock, const void * buf, int len, unsigned int flags); 옵션의 종류와 의미 - MSG_DONTROUTE (send 함수 호출시에만 사용하는 옵션) ..

[TCP/IP 소켓 프로그래밍] 12. 프로세스간 통신(IPC)

12-1. I/O 멀티플렉싱 기반의 서버 하나의 전송로를 여러 사용자가 동시에 사용해서 효율성을 극대화 하는 것. 전송로를 공유. 전송로를 공유하기 위해서는 서로 약속이 필요하다. TDMA : 자료 전송 시간을 일정한 시간 폭으로 나누어서 함께 공유하는 방식 FDMA : 주파수 대역 폭을 나누어서 함께 공유하는 ..

[TCP/IP 소켓 프로그래밍] 11. 프로세스간 통신(IPC)

11-1. 프로세스간 통신(Inter-Process Communication) 프로세스간 통신의 정의 독립된 프로세스 간에 데이터를 주고 받는 행위를 의미 프로세스간 통신의 문제점 독립된 프로세스는 (특정 시스템콜을 하지 않는한) 공유 메모리가 존재하지 않기 때문에 데이터를 주고 받는 것이 불가능. 해결책 : 독립된 프로세..

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

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