728x90

 

소켓 연결이 되면 데이터를 주고 받는다.

리눅스에서는 기본적으로 파일 입출력 함수를 그대로 사용한다.(물론 별도의 함수도 있겠지만)

때문에 파일기반 io를 공부할 필요가 있음.

 

운영체제별로 라이브러리를 제공한다 (예 윈도우는 winapi를 제공한다)

 

OS(os 지원 라이브러리) <=> 컴파일러(C표준을 이해하고 os 라이브러리를 사용하는 역할) <=> C

 

여기서 배울 함수들은 운영체제가 지원해주는 함수들 기준이다.(c 표준 함수가 아니라) 

 

시스템, 네트워크 프로그래밍에서는 주로 운영체제가 지원해주는 함수를 사용.

따라서 리눅스냐 윈도우냐에 따라서 차이가 있다.

 

저수준 파일입출력

- ANSI의 표준함수가 아닌 운영체제가 재공하는 함수 기반 파일 입출력

- 표준이 아니기 때문에 운영체제에대한 호환성이 없다.

- 리눅스는 소켓도 파일로 간주하기 때문에 저 수준 파일 입출력 함수를 기반으로 소켓 기반의 데이터 송신이 가능하다.

 

파일 디스크립터

- 운영체제가 만든 파일을 구분하기 위한 일종의 숫자

- 저수준 파일 입출력 함수는 입출력을 목적으로 파일 디스크립터를 요구한다. (키보드, 모니터 등도 파일로 간주한다.)

 

파일 열기와 닫기

open(), close()

write(), read()

 

리눅스에서는 소켓, 파일, 외부장치등이 일종의 파일로 간주되고 처리 된다.

728x90

+ Recent posts