[ minitalk ]
** UNIX signal을 이용한 소규모 데이터 교환 프로그램
유닉스 신호를 주고받는 작은 데이터 교환 프로그램을 코딩
2022.02.22 - [42_san (42seoul)/minitalk] - [minitalk] 1. UNIX signal
더보기
- 노미네이트 기준을 따르세요.
- 프로그램이 예기치 않게 종료되면 안됩니다. ex) segmentation fault, bus error, double free 등...
- 힙에 선언한 모든 메모리 영역은 free처리하세여.... 메모리 누수 안됨
- main 함수에 제일 마지막에 while(1); 걸어놓고 다른 창에서 leaks [실행파일명]으로 확인가능
- Makefile 제출, -Wall -Wextra and -Werror 플래그에 따라 컴파일을 해야하며, 컴파일 이후에 다시 리링트되면 안됨
- Makefile은 $(NAME), all, clean, fclean, re에 대한 룰을 정의하고 있어야 함
- 실행파일의 이름은 client와 server
# 사용할 수 있는 함수
- write
- ft_printf and any equivalent YOU coded
- signal
- sigemptyset
- sigaddset
- sigaction
- kill
- getpid
- malloc
- free
- pause
- sleep
- usleep
- exit
2022.02.23 - [42_san (42seoul)/minitalk] - [ minitalk ] 시그널 함수
# 구현과제
- C언어
- 클라이언트와 서버가 서로 통신하는 프로그램 만들기
- 서버가 먼저 실행되며, 실행된 후 PID를 표시해야 한다.
- 클라이언트가 실행될 때, 서버 PID와 전송할 문자열의 매개변수를 받는다.
- ./client [SERVER_PID] "string" 꼴로 클라이언트 실행하기
- 클라이언트는 매개변수로 전달한 문자열을 서버로 통신하고
- 서버는 문자열이 수신되면 그 문자열을 표시
- 서버는 문자열을 매우 빠른 속도로 표시해야한다.
(100자의 문자열을 표시하는데 1초가 걸리면 그건 엄청 느린거다.)
- n자의 문자열을 확인하기위해 도움받을 사이트..! : https://lettercounter.net/
- n자의 문자열 전송 시간을 확인하기 위해 알아야할 명령어.... : time ./client [SERVER_PID] "string"
- 서버가 재시작하지 않고도 클라이언트로붙 문자열을 연속으로 수신할 수 있어야한다.
- SIFUSR1, SIGUSR2 두 신호만 사용할 수 있다.
Linux system do NOT queue signals when you already have pending signal of this type! bonus time?
# 보너스
- 소규모 수신 확인 시스템 추가
- 유니코드 문자 지원하기
ㅎㅎㅎㅎ
'42seoul > circle-2' 카테고리의 다른 글
[minitalk] 발전방향 (0) | 2022.02.26 |
---|---|
[ minitalk ] 구현과정 (0) | 2022.02.25 |
[ minitalk ] getpid() | pause() | sleep() | usleep() | exit() (0) | 2022.02.24 |
[ minitalk ] 시그널 함수 <signal.h> (0) | 2022.02.23 |
[minitalk] 1. UNIX signal (0) | 2022.02.22 |
댓글