* 개발 언어 : C
* 개발 환경 : Linux / vi editor
* 개발 인원 : 1
요약
-. TCP와 UDP를 동시에 사용하는 클라이언트/서버 프로그램 작성
-. Log-in 과정은 서로 TCP 통신을 사용 -. TCP 연결 후, UDP / TCP echo 통신을 순차적으로 진행
동작원리
-. Server
1. TCP 소켓 생성
2. Client 접속 대기
3. ID 요청 (command 'ID')
4. ID 인증 - 인증 실패시 No.3 반복
5. Password 요청 (command 'Password')
6. Password 인증 - 인증 실패시 No.5 반복
7. UDP 소켓 생성 및 주소 할당
8. UDP Port 번호 전송 (command 'UDPPort')
9. UDP echo 통신
9.1. 50% 확률로 Sleep 전송 (command 'Sleep')
9.2. UDP message가 'QUIT'일 때까지 No.9 수행
10. UDP echo 종료 (command 'QUIT')
11. TCP echo 통신
11.1. TCP message가 'UDP closed'일 때까지 No.11 수행
12. TCP echo 종료 (command 'TCP QUIT')
13. No.2 반복
![]() | ![]() |
[Server]
-. Client
1. TCP 소켓 생성 및 Server 접속
2. ID를 입력받고 전송 (data 'Computer') - ID가 'Computer'라고 가정
3. Password를 입력받고 전송 (data 'KIT2008') - Password가 'KIT2008'이라고 가정
4. UDP 소켓 생성 및 주소 할당
5. UDP 연결완료 확인 전송 (command 'OK')
6. UDP echo 통신
6.1. Sleep(시간)을 수신하였을 시 해당 시간만큼 sleep
6.2. 'QUIT'를 전송할 때까지 No.6 반복
8. UDP echo 종료 (command 'QUIT')
9. TCP echo 통신
9.1. 'UDP closed'를 전송할 때까지 No.9 반복
10. TCP echo 종료 (command 'UDP closed')
11. 프로그램 종료
![]() | ![]() |
[Client]






