일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- QTcpServer
- lua install
- file write
- object
- #부동산전자거래 #부동산전자계약 #부동산계약 #부동산전자계약방법 #부동산전자계약하는법 #부동산계약방법 #부동산중개수수료 #부동산중개수수료아끼기 #부동산복비아끼기
- file open
- 중소규모택지
- 찾다죽는줄
- 프리미어 영상변환
- C++ API
- lua setup
- 티몬삼겹살데이
- 엑스퍼트2주년
- 수도권주택공급
- TCP/IP
- 엑스퍼트생일축하해
- lua for windows
- 청량리역한양수자인192
- FILE TRANSFER
- Lua
- 등록임대주택
- QT TCP
- C API
- 월세
- file read
- 프리미어 영상저장
- 국토교통부
- lua interpreter
- #신혼부부 #결혼준비 #신혼부부희망타운신혼부부특별공급
- meta table
- Today
- Total
목록1. 프로그래밍 (95)
Value Creator의 IT(프로그래밍 / 전자제품)
* 멀티 프로세스 기반 서버와 차이점 멀티 프로세스 : 여러개의 프로세스가 여러개의 소켓을 핸들링(각 소켓에 대응하는 프로세스를 각각 만들어준다) 멀티플렉싱 : 하나의 프로세스가 여러개의 소켓을 핸들링 1. Select 함수를 이용하면 멀티플렉싱 서버 구현이 가능하다. Select.c select 함수 사용 예제 #include #include #include #include #define BUF_SIZE 30 int main(int argc, char *argv[]) { fd_set reads, temps; //fd_set 타입의 변수 선언 int result, str_len; //결과값, 길이값 변수 char buf[BUF_SIZE]; //문자열 struct timeval timeout; // tim..
1. 파이프 기반 프로세스 통신 프로세스 간 통신을 하려면 프로세스끼리 메모리를 공유해야 한다. 파이프 기반으로 프로세스를 만들면, 메모리를 공유할 수 있다. pipe1.c #include #include #define BUF_SIZE 30 int main(int argc, char *argv[]) { int fds[2]; //파일 디스크립터 array char str[]="Who are you?"; //주고 받을 메세지 char buf[BUF_SIZE]; pid_t pid; pipe(fds); //pipe생성 fds[0], fds[1] pid=fork(); if(pid==0) { //자식 프로세스 동작 write(fds[1], str, sizeof(str)); //fds[1]을 통해 자식 프로세스 ->..
1. 프로세스란? 실행중인 프로그램을 의미한다. 멀티프로세스 운영체제는 다수의 프로세스를 동시에 실행 가능하다. 프로세스마다 프로세스 ID가 할당된다. 2. Fork 함수 : 프로세스를 복사하는 함수. 복사되어서 생긴 프로세스는 자식 프로세스, 기존의 프로세스는 부모 프로세스라고 부른다. #include #include int gval=10; //글로벌 변수 int main(int argc, char *argv[]) { pid_t pid; //프로세스 ID 타입의 변수 선언 int lval=20; //지역변수 gval++, lval+=5; //gval = 11, lval=25 pid=fork(); //자식 프로세스 생성 if(pid==0)// if Child Process gval+=2, lval+=2;..
추후 작성
추후 작성
1. Half-close(우아한 종료) 소켓은 입력버퍼와 출력버퍼가 있다고 했다. 입력 스트림과 출력 스트림이 있다. 입력 스트림만 종료하는 것이 Half-close 이다. file_server.c #include #include #include #include #include #include #define BUF_SIZE 30 void error_handling(char *message); int main(int argc, char *argv[]) { int serv_sd, clnt_sd;//서버, 클라이언트 소켓 정수 선언 FILE * fp; //파일 포인터 선언 char buf[BUF_SIZE]; //버퍼사이즈 크기의 문자열 선언 int read_cnt; //읽은 개수 선언 struct sockad..
추후 작성
1. 에코 클라이언트 문제점 수정 앞선 예제의 '에코 서버'는 문제가 없다.. 에코 서버는 앞선 글에서 볼 수 있다. 2019/10/29 - [1. 프로그래밍/4) Network] - Chapter 4 TCP 기반 서버 클라이언트 에코 클라이언트 문제점 수정한 부분은 //로 표시했다. 아래 코드에서 'str_len=write...' 부터 'message[recv_len]=0'까지 수정되었다. #include #include #include #include #include #include #define BUF_SIZE 1024 void error_handling(char *message); int main(int argc, char *argv[]) { int sock; char message[BUF_SIZ..