Skip to content

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

Repository files navigation

Network Programming Practice

경북대학교 컴퓨터학부 네트워크 프로그래밍(Network Programming) 실습 과제 저장소입니다. 리눅스 환경에서 C 언어를 사용하여 소켓 프로그래밍(TCP/UDP), 멀티스레딩 서버, I/O 멀티플렉싱 및 응용 프로토콜 구현을 다룹니다.

📂 Repository Structure

이 저장소는 과제(Homework), 실습(Practice), 시험(Exam) 디렉토리로 구성되어 있으며, 주요 내용은 다음과 같습니다.

Directory Topic Description Key Files
hw/hw2 Basic TCP 기본적인 TCP Echo Client/Server 구현 hw2_client.c, hw2_server.c
hw/hw3 TCP Chat/Transfer TCP 프로토콜을 활용한 데이터 전송 실습 (RFC 793 참조) hw3_client.c, hw3_server.c
hw/hw4 UDP Socket 비연결성 지향형 소켓인 UDP를 이용한 통신 구현 udp_client.c, udp_server.c
hw/hw5 Remote Grep (TCP) 서버의 파일에서 특정 문자열을 검색하는 rgrep 프로토콜 구현 rgrep_client.c, rgrep_server.c
hw/hw6 I/O Multiplexing select 또는 poll을 이용한 다중 클라이언트 처리 서버 hw6_server.c
hw/hw8 Application Protocol 특정 응용 서비스(Land)를 위한 클라이언트/서버 구현 land_client.c, land_server.c
alignment Data Serialization 구조체 메모리 정렬(Alignment) 및 네트워크 패킷 직렬화 실습 align_server.c, cinfo.c
practice Socket Basics 소켓 생성, 바인딩, 연결 등 기초 실습 코드 client.c, server.c
midterm_exam Midterm Project 단계별 서버/클라이언트 기능 확장 (v1 ~ v6) 및 프로토콜 테스트 server6.c, client6.c
actual_exam Final Implementation 실제 시험에서 수행한 네트워크 애플리케이션 구현 (rgrep 심화 등) regep_client.c, rgrep_server.c

🛠 Environment

  • OS: Linux (Ubuntu/CentOS)
  • Language: C
  • Compiler: GCC
  • Tools: Wireshark, Netcat(nc), Telnet

🚀 How to Run

각 디렉토리로 이동하여 gcc를 통해 컴파일 후 실행합니다. 서버를 먼저 실행하고, 다른 터미널에서 클라이언트를 실행하여 접속합니다.

# 1. 서버 컴파일 및 실행 (포트 번호 지정)
cd hw/hw2
gcc -o server hw2_server.c
./server 9000

# 2. 클라이언트 컴파일 및 실행 (IP 및 포트 지정)
# (새로운 터미널에서)
gcc -o client hw2_client.c
./client 127.0.0.1 9000

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages