1. 교과목 학습목표 | ||||||
---|---|---|---|---|---|---|
TCP/IP 네트워크 프로그래밍의 이론 및 코딩을 진행한다. -소켓,프로토콜,아이피,포트에 대해 이해하고 이를 코딩할수 있다. -소켓 프로그래밍이 시스템 프로그래밍의 일부임을 이해하고 에러로 문제점을 찾을 수 있다. -커널,커널오브젝트,프로세스,쓰레드,멀티쓰레드,뮤텍스,세마포어,이벤트를 이해하고 프로그램에 맞게 코딩할 수 있다. -데이터 프로로콜을 짜서 클라이언트와 서브에 각각 적용해 나만의 네트워크 프로그래밍을 만들 수 있다. |
||||||
2. 교재 및 참고문헌 | ||||||
네트워크 프로그래밍 ( 패킷이 보이는 네트워크 프로토콜과 실무형 예제로 익히는 ) (프리렉,최지훈) | ||||||
3. 주차별 강의(실습·실기·실헙)내용 | ||||||
주별 | 강의(실습·실기·실험)내용 | 과제 및 기타 참고사항 | ||||
제 1 주 | 0.강의개요,강의방향을 설명하고
|
현재 설치된 visual studio 2019 community 실행화면을 캡쳐하고 putty program으로 접속한 우분트 리눅스에 자신의 이름을 딴 폴더를 만들어 pwd로 화면캡쳐 접속한 자신의 pc 의 공인 IP를 캡쳐 해서 보낸다. |
||||
제 2 주 | 1장 소켓 프로그래밍 기본
|
강의시간에 했던 소스를 이용하는 간단한 프로그램을 짜보도록 한다. (windows OS) 교재1장의 소스를 우분투리눅스(putty로 접속)에 접속해서 컴파일해보도록 하고 그것을 실행한후 화면을 캡쳐한다. |
||||
제 3 주 | 2장 소켓 API
|
강의시간 했던 소스에 inet_addr과 inet_atoa 부분은 에러가 나기에 강제로 전처리로 처리를했다. 이 부분을 함수를 써서 코딩을 완성해서 제출케 한다. 교재2장의 소스를 우분투리눅스(putty로 접속)에 접속해서 컴파일해보도록 하고 그것을 실행한후 화면을 캡쳐한다. |
||||
제 4 주 | 3장 TCP 소켓
|
강의시간에 했던 소스를 이용하는 간단한 프로그램을 짜보도록 한다. (windows OS) 교재3장의 소스를 우분투리눅스(putty로 접속)에 접속해서 컴파일해보도록 하고 그것을 실행한후 화면을 캡쳐한다. |
||||
제 5 주 | 3장 TCP 소켓
|
강의시간에 했던 소스를 이용하는 간단한 프로그램을 짜보도록 한다. (windows OS) 교재3장의 소스를 우분투리눅스(putty로 접속)에 접속해서 컴파일해보도록 하고 그것을 실행한후 화면을 캡쳐한다. |
||||
제 6 주 | 4장 UDP 소켓
|
강의시간에 했던 소스를 이용하는 간단한 프로그램을 짜보도록 한다. (windows OS) 교재4장의 소스를 우분투리눅스(putty로 접속)에 접속해서 컴파일해보도록 하고 그것을 실행한후 화면을 캡쳐한다. |
||||
제 7 주 | 중간고사 | - | ||||
제 8 주 | 9장 멀티플렉싱 기법
|
|||||
제 9 주 | 8장 멀티 스레딩을 이용한 다중 접속 서버
|
쓰레드와 그것을 잡아주는 이벤트를 사용한 프로그램을 하나 짜본다. | ||||
제 10 주 | 8장 멀티 스레딩을 이용한 다중 접속 서버
|
뮤텍스말고 세마포어나 이벤트로 다중접속 클라이언트를 제어할 수 있도록 프로그램을 바꾼다. | ||||
제 11 주 | 10장 소켓옵션,11장 raw Socket, 14장 IPv6 는 리눅스베이스로 설명하고 그것대로 리눅스에서 실행해본다.
|
|||||
제 12 주 | 13장 Windows 고급 네트워크 프로그래밍
|
|||||
제 13 주 | 13장 Windows 고급 네트워크 프로그래밍
|
비동기 윈도우 소켓 함수를 이용한 프로그램하나를 짜게한다. | ||||
제 14 주 | 15장 Packet Socket,16장 응용 프로그램
|
|||||
제 15 주 | 기말고사 | - | ||||
4. 성적평가 방법 | ||||||
중간고사 | 기말고사 | 과제물 | 출결 | 기타 | 합계 | 비고 |
30% | 30% | 20% | 20% | - | 100% | - |
5. 수업 진행 방법 | ||||||
- | ||||||
6. 수업에 특별히 참고하여야 할 사항 | ||||||
- | ||||||
7. 문제해결 방법(실험·실습 등의 학습과정의 경우에 작성) | ||||||
- | ||||||
8. 강의유형 | ||||||
이론중심( ), 토론, 세미나 중심( ), 실기 중심( ), 이론 및 토론, 세미나 병행( ), 이론 및 실험, 실습 병행( ) |