1. 프로토콜
- 대화에 필요한 통신 규약.
- 약속 (컴퓨터 상호간의 대화에 필요한 통신규약)
2. 소켓
- 네트워크상에서 서버와 클라이언트 두개의 프로그램이 특정 포트를 통해 양방향 통신이 가능하도록 만들어주는 소프트웨어 장치.
- IP adress 와 Port number가 합쳐진, 네트워크 상에서 서버 프로그램과 클라이언트 프로그램이 통신 할 수있도록 해주는 소프트웨어 장치.
<참고> Linux 기반 파일 조작하기.
파일 디스크립터
- 0 (표준입력 stdin)
- 1 (표준출력 stdout)
- 2 (표준에러 stderr)
1. 파일 열기
#include <sys/type.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *path, int flag);
-path : 파일 이름을 나타내는 문자열의 주소 값 전달.
-flag : 파일의 오픈 모드 정보 전달.
-O_CREAT ( 필요하면 파일을 생성)
-O_TRUNC ( 기존 데이터 전부 삭제)
-O_APPEND ( 기존 데이터 보존하고, 뒤에 이어서 저장)
-O_RDONLY ( 읽기 전용으로 파일 오픈)
-O_WRONLY ( 쓰기 전용으로 파일 오픈)
-O_RDWR ( 읽기, 쓰기 겸용으로 파일 오픈)
2. 파일 닫기
#include <unistd.h>
int close(int fd);
-fd : 닫고자 하는 파일 or 소켓의 파일 디스크립터 전달.
3. 파일에 데이터 쓰기
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t nbyte);
-fd : 데이터 전송대상을 나타내는 파일의 디스크립터 전달.
-buf : 전송할 데이터가 저장된 버퍼의 주소 값 전달.
-nbyte : 전송할 데이터의 바이트 수 전달.
4. 파일에 저장된 데이터 읽기
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t nbyte);
-fd : 데이터 수신대상을 나타내는 파일 디스크립터 전달.
-buf : 수신한 데이터를 저장할 버퍼의 주소 값 전달.
-nbyte : 수신할 최대 파이트 수 전달.
<참조 : 열혈 TCP/IP 소켓 프로그래밍>
'삽질의 현장 > - ETC' 카테고리의 다른 글
[삽잡이::JPEG] JPEG에 대해서...(2) (0) | 2014.01.20 |
---|---|
[삽잡이::JPEG] JPEG에 대하여... (1) (0) | 2014.01.20 |
[삽잡이::Socket] Socket 프로그래밍 구조 (client) (0) | 2013.09.16 |
[삽잡이::Socket] Socket 프로그래밍 구조 (server) (0) | 2013.09.15 |
[삽잡이::Socket] 주소체계 (0) | 2013.09.15 |