2021-03-17(Wed)
νλͺ©
λ΄μ©
νμ΅ λ μ§
2021-03-17(μ)
νμ΅ μκ°
11:00~24:00
νμ΅ λ²μ λ° μ£Όμ
socket, bind, listen, select, accept
νμ΅ λͺ©ν
exam06μ ν΅κ³Όν μ μλλ‘ νμ΅νλ€.
λλ£ νμ΅ λ°©λ²
-
μμΈ νμ΅ λ΄μ©
μλΈμ νΈλ λλμ§λ§, λ°λ‘ μ΄μ΄μ νμ΅ μμνλ€. exam06μμ μꡬνλ IRC κ°μ΄ μλ²λ₯Ό λ°λ‘ ꡬνν μ μλλ‘ μ°μ΅νλ€.

μΌλ°μ μΌλ‘ μΉμλ²λ μλ νλ‘μ°λ₯Ό λ°λΌκ°λ€.
socketμ λ§λ λ€. TCP/IPμμλ SOCK_STREAMμ μ¬μ©νλ€.
bind ν¨μλ‘ socketμ server socketμ νμν μ 보(μ£Όμ, port λ²νΈ λ±)λ₯Ό ν λΉνκ³ μ»€λμ λ±λ‘νλ€. μ΄μ λ€λ₯Έ μμ€ν κ³Ό ν΅μ ν μ μλ μνκ° λλ€.
μ΄μ listen ν¨μλ₯Ό νμ©νμ¬ socket_fdμΌλ‘ ν΄λΌμ΄μΈνΈ μ μ μμ²μ νμΈν μ μλλ‘ μ ν νλ€. ννΈ ν΄λΌμ΄μΈνΈ μΈ‘μμ connectλ‘ μ μμμ²μ νλ€.
μ°λ¦° selectλ‘ μμ²μ κ°μ§νμ¬ socket_fdμ λ³νκ° μμΌλ©΄ μλ 5λ²μ μ€ννκ³ , μλλΌλ©΄ 6λ²μ μ€ννλ€.
ν΄λΌμ΄μΈνΈ μ μ μμ²μ λ°λΌ accpetλ‘ μ μμ νλ½νλ€. μ΄μ client socketμ΄ λ§λ€μ΄μ‘λ€.
recv/readλ₯Ό ν΅ν΄ μ μ‘λμ΄ μ€λ λ°μ΄ν°λ₯Ό μ½μ΄λ€μΈλ€. μ΄ν write/sendλ‘ ν΄λΌμ΄μΈνΈμκ² λ°μ΄ν°λ₯Ό μ μ‘νλ€.
μ΄ λ exam μꡬμ¬νμ λ°λΌ μ΄λ ν ν΄λΌμ΄μΈνΈμ λ©μμ§λ₯Ό λͺ¨λ λλ¨Έμ§ ν΄λΌμ΄μΈνΈμκ² λΈλ‘λμΊμ€νΈνλλ‘ κ΅¬ννλ©΄ λλ€. μ΄λ₯Ό μν΄ ν΄λΌμ΄μΈνΈ μ 보λ₯Ό 리μ€νΈλ‘ μ μ₯νμ¬ λΈλ‘λμΊμ€νΈνλλ° νμ©νμλ€.
μ°Έκ³ : https://badayak.com/4472
νμ΅ λ΄μ©μ λν κ°μΈμ μΈ μ΄ν
42μμλ μΉμλ² κ΅¬νκ³Ό IRC ꡬν μ€ νλλ₯Ό μ νν΄μ ꡬνν μ μλ€. κ·Έλ°λ° exam06μ΄ IRC ꡬνκ³Ό λΉμ·νλ€κ³ νμ¬ μ΅μμΉμμκ±°λΌ κΈ΄μ₯νλλ°, μΌλ§ μ κΉμ§ μ‘μ μΌμ΄λΈλ‘ λΈλ‘λμΊμ€νΈνμ¬ μ±ν νλ κΈ°λ₯μ ꡬνν΄μμΈμ§ λ³ μνκ° μμ΄ κ΅¬νν μ μμλ€. κ΅Ώκ΅Ώ
λ€μ νμ΅ κ³ν
exam06 μμ
Last updated
Was this helpful?