Skip to content

Latest commit

Β 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

2025 λ„€νŠΈμ›Œν¬ν”„λ‘œκ·Έλž˜λ° 기말 ν”„λ‘œμ νŠΈ

πŸ“š Book Rental Server

TCP μ†ŒμΌ“ ν”„λ‘œκ·Έλž˜λ° 기반 λ„μ„œ λŒ€μΆœ μ„œλ²„ ν”„λ‘œμ νŠΈ

ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μ ‘μ†ν•˜μ—¬ νšŒμ›κ°€μž…, 둜그인, λ„μ„œ 쑰회, λ„μ„œ λŒ€μΆœ 및 λ°˜λ‚© κΈ°λŠ₯을 μ΄μš©ν•  수 μžˆλŠ” μ½˜μ†” 기반 λ„μ„œ λŒ€μΆœ μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.

πŸ“– ν”„λ‘œμ νŠΈ κ°œμš”

  • TCP Socket Programming 기반 μ„œλ²„Β·ν΄λΌμ΄μ–ΈνŠΈ μ‹œμŠ€ν…œ
  • 닀쀑 ν΄λΌμ΄μ–ΈνŠΈ λ™μ‹œ 접속 지원 (fork() μ‚¬μš©)
  • νšŒμ›κ°€μž… 및 둜그인 κΈ°λŠ₯ κ΅¬ν˜„
  • λ„μ„œ λͺ©λ‘ 쑰회 및 λŒ€μΆœ / λ°˜λ‚© κΈ°λŠ₯ 제곡
  • λŒ€μΆœ κΈ°κ°„(7일) 관리 및 연체 μ—¬λΆ€ νŒλ³„
  • μ‚¬μš©μž 정보와 λŒ€μΆœ 기둝을 파일둜 μ €μž₯ν•˜μ—¬ μ„œλ²„ μ’…λ£Œ 후에도 데이터 μœ μ§€
  • μ½˜μ†” ν™˜κ²½μ—μ„œ μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈ κ°„ μƒν˜Έμž‘μš©

✨ μ£Όμš” κΈ°λŠ₯

πŸ‘€ νšŒμ› 관리

  • νšŒμ›κ°€μž… (SIGNUP)
  • 둜그인 (LOGIN)
  • μ‚¬μš©μž 정보 μ €μž₯ 및 인증

πŸ“š λ„μ„œ 관리

  • λ„μ„œ λͺ©λ‘ 쑰회 (LIST)
  • λ„μ„œ λŒ€μΆœ (BORROW)
  • λ„μ„œ λ°˜λ‚© (RETURN)
  • λŒ€μΆœ κ°€λŠ₯ μ—¬λΆ€ ν‘œμ‹œ

⏰ λŒ€μΆœ 관리

  • κΈ°λ³Έ λŒ€μΆœ κΈ°κ°„ 7일
  • λŒ€μΆœ κΈ°κ°„ 초과 μ‹œ 연체 μ—¬λΆ€ νŒλ³„
  • λ°˜λ‚© μ‹œ 연체 λ©”μ‹œμ§€ 좜λ ₯

πŸ”’ μ‚¬μš©μž 편의 κΈ°λŠ₯

  • λΉ„λ°€λ²ˆν˜Έ μž…λ ₯ μ‹œ * ν‘œμ‹œ 처리
  • μ„œλ²„ μ’…λ£Œ 후에도 νšŒμ› 및 λŒ€μΆœ 정보 μœ μ§€

πŸ’» μ‚¬μš© λͺ…λ Ήμ–΄

λͺ…λ Ήμ–΄ μ„€λͺ…
SIGNUP νšŒμ›κ°€μž…
LOGIN 둜그인
LIST λ„μ„œ λͺ©λ‘ 쑰회
BORROW λ„μ„œ λŒ€μΆœ
RETURN λ„μ„œ λ°˜λ‚©
EXIT ν”„λ‘œκ·Έλž¨ μ’…λ£Œ

πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰

BookRentalServer
β”‚
β”œβ”€β”€ book_server.c      # λ„μ„œ λŒ€μΆœ μ„œλ²„
β”œβ”€β”€ book_client.c      # ν΄λΌμ΄μ–ΈνŠΈ
β”œβ”€β”€ books.txt          # λ„μ„œ λͺ©λ‘ (μ΅œλŒ€ 10ꢌ)
β”œβ”€β”€ users.txt          # νšŒμ› 정보
β”œβ”€β”€ borrow_log.txt     # λŒ€μΆœ 기둝
β”œβ”€β”€ netprog2.h         # 곡톡 헀더
└── Makefile           # Build 및 Reset

🎬 Demo

μ‹€ν–‰ ν™”λ©΄κ³Ό λ™μž‘ 과정은 μ•„λž˜ λ…Έμ…˜ νŽ˜μ΄μ§€μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“– μ‹€ν–‰ λ™μž‘ μ˜ˆμ‹œ λ³΄λŸ¬κ°€κΈ°

πŸ› οΈ 기술 μŠ€νƒ

  • C
  • TCP Socket Programming
  • Linux
  • Makefile
  • File I/O

πŸ“Œ 데이터 관리

  • users.txt

    • νšŒμ›κ°€μž… μ‹œ 아이디와 λΉ„λ°€λ²ˆν˜Έ μ €μž₯
    • 둜그인 μ‹œ μ‚¬μš©μž 인증
  • books.txt

    • λ„μ„œ λͺ©λ‘ μ €μž₯
    • μ΅œλŒ€ 10ꢌ 지원
    • λ„μ„œ λŒ€μΆœ μƒνƒœ 관리
  • borrow_log.txt

    • λŒ€μΆœ 및 λ°˜λ‚© 기둝 μ €μž₯
    • 연체 μ—¬λΆ€ 확인

πŸ”„ Reset

make reset

μ‹€ν–‰ μ‹œ

  • νšŒμ› 정보 μ΄ˆκΈ°ν™”
  • λŒ€μΆœ 기둝 μ΄ˆκΈ°ν™”
  • λ„μ„œ μƒνƒœ μ΄ˆκΈ°ν™” (λͺ¨λ“  λ„μ„œλ₯Ό λŒ€μΆœ κ°€λŠ₯ μƒνƒœλ‘œ λ³€κ²½)

πŸ‘©β€πŸ’» 개발 κ³Όμ •

  • TCP μ†ŒμΌ“ 톡신을 μ΄μš©ν•œ μ„œλ²„Β·ν΄λΌμ΄μ–ΈνŠΈ ꡬ쑰λ₯Ό κ΅¬ν˜„
  • fork()λ₯Ό ν™œμš©ν•˜μ—¬ 닀쀑 ν΄λΌμ΄μ–ΈνŠΈ λ™μ‹œ 접속을 처리
  • 파일 μž…μΆœλ ₯을 ν™œμš©ν•˜μ—¬ νšŒμ› 정보와 λŒ€μΆœ 기둝을 영ꡬ적으둜 μ €μž₯
  • λΉ„λ°€λ²ˆν˜Έ μž…λ ₯ μ‹œ *κ°€ 좜λ ₯λ˜λ„λ‘ κ΅¬ν˜„

About

πŸ“š TCP Socket Programming 기반 λ„μ„œ λŒ€μΆœ 및 νšŒμ› 관리 μ„œλ²„ ν”„λ‘œμ νŠΈ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages