λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ΄λž€ 무엇인가?

by 5566 2023. 11. 26.

1. μžλ°” ν”„λ‘œν† μ½œμ΄λž€

μžλ°” ν”„λ‘œν† μ½œμ€ μžλ°” μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λ„€νŠΈμ›Œν¬ 톡신에 μ‚¬μš©λ˜λŠ” κ·œμ•½μ΄λ‹€. λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ μ»΄ν“¨ν„°λ‚˜ μž₯치 κ°„μ˜ 톡신 방법을 μ •μ˜ν•˜λŠ” κ·œμ •λ“€μ˜ μ§‘ν•©μœΌλ‘œ, 데이터λ₯Ό μ „μ†‘ν•˜κ³  μˆ˜μ‹ ν•˜λŠ” 방법, νŒ¨ν‚·μ΄ μ–΄λ–€ ν˜•μ‹μœΌλ‘œ κ΅¬μ„±λ˜μ–΄μ•Ό ν•˜λŠ”μ§€, μ–΄λ–€ κ·œμΉ™μ„ 따라야 ν•˜λŠ”μ§€ λ“±μ˜ μ„ΈλΆ€ 사항을 λ‚˜νƒ€λ‚Έλ‹€.

μžλ°” ν”„λ‘œν† μ½œμ€ μžλ°”λ‘œ μž‘μ„±λœ λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” 톡신 κ·œμ•½μ΄λ‹€. μ΄λŠ” μžλ°”μ˜ νŠΉμ§•κ³Ό μž₯점을 ν™œμš©ν•˜μ—¬ 효율적이고 μ•ˆμ •μ μΈ λ„€νŠΈμ›Œν¬ 톡신을 κ΅¬ν˜„ν•  수 μžˆλ„λ‘ 도와쀀닀. μžλ°” ν”„λ‘œν† μ½œμ€ μ—¬λŸ¬ 가지 ν”„λ‘œν† μ½œμ„ μœ„ν•œ API(μ‘μš© ν”„λ‘œκ·Έλž˜λ° μΈν„°νŽ˜μ΄μŠ€)와 ν΄λž˜μŠ€λ“€μ˜ μ§‘ν•©μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

μžλ°” ν”„λ‘œν† μ½œμ€ λ‹€μ–‘ν•œ κΈ°λŠ₯κ³Ό λ³΄μ•ˆ μˆ˜μ€€μ„ μ œκ³΅ν•˜μ—¬ λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ λ‹€μ–‘ν•œ μš”κ΅¬μ— 적응할 수 μžˆλ‹€. λ˜ν•œ, μžλ°”μ˜ κ°•λ ₯ν•œ 객체 지ν–₯ 개발 κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ ν™•μž₯μ„±κ³Ό μœ μ§€ λ³΄μˆ˜μ„±μ΄ 높은 μ†”λ£¨μ…˜μ„ μ œκ³΅ν•œλ‹€.

μžλ°” ν”„λ‘œν† μ½œμ€ μ—¬λŸ¬ 가지 ν‘œμ€€ ν”„λ‘œν† μ½œμ„ κ΅¬ν˜„ν•˜λ©°, 이λ₯Ό 톡해 TCP/IP, HTTP, FTP, SMTP, POP3 λ“±μ˜ λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œμ„ μ§€μ›ν•œλ‹€. 이λ₯Ό 톡해 μžλ°”λ₯Ό μ‚¬μš©ν•˜μ—¬ 각쒅 λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€.

μ—¬κΈ°μ„œλŠ” μžλ°”μ˜ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ— λŒ€ν•œ κ°œμš”λ₯Ό μ‚΄νŽ΄λ³΄κ³ , λ‹€μŒ μ„Ήμ…˜μ—μ„œλŠ” μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ μ’…λ₯˜λ₯Ό μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ„λ‘ ν•˜κ² λ‹€.

2. μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ κ°œμš”

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ„€νŠΈμ›Œν¬ 톡신에 μ‚¬μš©λ˜λŠ” μ—¬λŸ¬ 가지 ν”„λ‘œν† μ½œμ„ μžλ°” μ–Έμ–΄λ‘œ μ‰½κ²Œ κ°œλ°œν•˜κ³  κ΅¬ν˜„ν•  수 μžˆλ„λ‘ λ•λŠ” κΈ°μˆ μ΄λ‹€. 이λ₯Ό 톡해 μžλ°” κ°œλ°œμžλŠ” κ°•λ ₯ν•œ λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ΅¬ν˜„ν•˜κ³  μ‹€ν–‰ν•  수 μžˆλ‹€.

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ μžλ°”μ˜ ν‘œμ€€ 클래슀 라이브러리인 java.net νŒ¨ν‚€μ§€λ₯Ό 톡해 μ œκ³΅λœλ‹€. 이 νŒ¨ν‚€μ§€μ—λŠ” λ‹€μ–‘ν•œ ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€κ°€ ν¬ν•¨λ˜μ–΄ 있으며, λ„€νŠΈμ›Œν¬ 톡신을 μœ„ν•œ ν•„μˆ˜μ μΈ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ TCP/IP 기반의 λ„€νŠΈμ›Œν¬ 톡신을 μœ„ν•œ Socketκ³Ό ServerSocket 클래슀λ₯Ό μ œκ³΅ν•œλ‹€. Socket ν΄λž˜μŠ€λŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ 연결을 κ΄€λ¦¬ν•˜κ³  데이터λ₯Ό μ†‘μˆ˜μ‹ ν•˜λŠ” 역할을 ν•œλ‹€. ServerSocket ν΄λž˜μŠ€λŠ” μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ˜ 연결을 받아듀이고 μ—°κ²°λœ Socket 객체λ₯Ό λ°˜ν™˜ν•˜λŠ” 역할을 ν•œλ‹€.

λ˜ν•œ, μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ HTTP ν”„λ‘œν† μ½œμ„ μœ„ν•œ HttpURLConnection ν΄λž˜μŠ€μ™€ FTP ν”„λ‘œν† μ½œμ„ μœ„ν•œ FTPClient 클래슀 등을 μ œκ³΅ν•œλ‹€. 이λ₯Ό 톡해 μ›Ή μ„œλ²„μ™€ ν†΅μ‹ ν•˜κ±°λ‚˜ 파일 전솑과 κ΄€λ ¨λœ κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ§Žμ€ νŽΈμ˜μ„±κ³Ό μœ μ—°μ„±μ„ μ œκ³΅ν•œλ‹€. 이λ₯Ό 톡해 κ°œλ°œμžλŠ” λ„€νŠΈμ›Œν¬ μƒμ—μ„œ 데이터λ₯Ό μ†‘μˆ˜μ‹ ν•˜κ³ , 원격 μ„œλ²„μ™€μ˜ 톡신을 톡해 μ›ν•˜λŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλ‹€. λ˜ν•œ, μžλ°”μ˜ λ‹€μ–‘ν•œ λ³΄μ•ˆ κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ 톡신 κ³Όμ •μ—μ„œ λ°μ΄ν„°μ˜ λ³΄μ•ˆμ„±μ„ κ°•ν™”ν•  수 μžˆλ‹€.

λ‹€μŒ μ„Ήμ…˜μ—μ„œλŠ” μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ μ’…λ₯˜λ₯Ό μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ„λ‘ ν•˜κ² λ‹€.

3. μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ μ’…λ₯˜

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ ν”„λ‘œν† μ½œμ„ μ§€μ›ν•œλ‹€. 이λ₯Ό 톡해 μžλ°” κ°œλ°œμžλŠ” λ‹€μ–‘ν•œ λ„€νŠΈμ›Œν¬ κΈ°λŠ₯을 κ΅¬ν˜„ν•  수 μžˆλ‹€. 각각의 ν”„λ‘œν† μ½œμ€ νŠΉμ •ν•œ λͺ©μ μ— 맞게 μ„€κ³„λ˜μ—ˆμœΌλ©°, μžλ°”μ—μ„œλŠ” μ΄λŸ¬ν•œ ν”„λ‘œν† μ½œλ“€μ„ μ‰½κ²Œ κ΅¬ν˜„ν•˜κ³  μ‘°μž‘ν•  수 μžˆλ„λ‘ APIλ₯Ό μ œκ³΅ν•œλ‹€.

3.1 TCP/IP ν”„λ‘œν† μ½œ

TCP/IP ν”„λ‘œν† μ½œμ€ μΈν„°λ„·μ—μ„œ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€. μžλ°”μ—μ„œλŠ” TCP/IP 기반의 λ„€νŠΈμ›Œν¬ 톡신을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ Socketκ³Ό ServerSocket 클래슀λ₯Ό μ œκ³΅ν•œλ‹€. Socket은 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ 연결을 κ΄€λ¦¬ν•˜κ³  데이터λ₯Ό μ†‘μˆ˜μ‹ ν•˜λŠ” 역할을 ν•˜λ©°, ServerSocket은 μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ˜ 연결을 받아듀이고 μ—°κ²°λœ Socket 객체λ₯Ό λ°˜ν™˜ν•˜λŠ” 역할을 ν•œλ‹€.

3.2 HTTP ν”„λ‘œν† μ½œ

HTTP ν”„λ‘œν† μ½œμ€ μ›Ή μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈ κ°„μ˜ 톡신을 μœ„ν•΄ μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€. μžλ°”μ—μ„œλŠ” HTTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ μ›Ή μ„œλ²„μ™€ ν†΅μ‹ ν•˜κΈ° μœ„ν•΄ HttpURLConnection 클래슀λ₯Ό μ œκ³΅ν•œλ‹€. 이 클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄ μ›Ή μ„œλ²„μ— GET λ˜λŠ” POST μš”μ²­μ„ 보내고, μ„œλ²„λ‘œλΆ€ν„° 응닡 데이터λ₯Ό 받을 수 μžˆλ‹€.

3.3 FTP ν”„λ‘œν† μ½œ

FTP ν”„λ‘œν† μ½œμ€ 파일 전솑을 μœ„ν•œ ν”„λ‘œν† μ½œμ΄λ‹€. μžλ°”μ—μ„œλŠ” FTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ νŒŒμΌμ„ μ—…λ‘œλ“œν•˜κ³  λ‹€μš΄λ‘œλ“œν•˜κΈ° μœ„ν•΄ FTPClient 클래슀λ₯Ό μ œκ³΅ν•œλ‹€. 이 클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄ 원격 FTP μ„œλ²„μ™€ 연결을 μˆ˜λ¦½ν•˜κ³ , νŒŒμΌμ„ μ „μ†‘ν•˜λŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

3.4 SMTP ν”„λ‘œν† μ½œ

SMTP ν”„λ‘œν† μ½œμ€ 이메일 전솑을 μœ„ν•œ ν”„λ‘œν† μ½œμ΄λ‹€. μžλ°”μ—μ„œλŠ” SMTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ 이메일을 보내기 μœ„ν•΄ JavaMail APIλ₯Ό μ œκ³΅ν•œλ‹€. JavaMail APIλ₯Ό μ‚¬μš©ν•˜λ©΄ 이메일 μ„œλ²„μ™€μ˜ 연결을 μˆ˜λ¦½ν•˜κ³ , 이메일을 λ³΄λ‚΄λŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

3.5 POP3 ν”„λ‘œν† μ½œ

POP3 ν”„λ‘œν† μ½œμ€ 이메일 μˆ˜μ‹ μ„ μœ„ν•œ ν”„λ‘œν† μ½œμ΄λ‹€. μžλ°”μ—μ„œλŠ” POP3 ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ 이메일을 λ°›μ•„μ˜€κΈ° μœ„ν•΄ JavaMail APIλ₯Ό μ œκ³΅ν•œλ‹€. JavaMail APIλ₯Ό μ‚¬μš©ν•˜λ©΄ 이메일 μ„œλ²„μ™€μ˜ 연결을 μˆ˜λ¦½ν•˜κ³ , 이메일을 λ°›μ•„μ˜€λŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μžˆλ‹€.

이 외에도 μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ—λŠ” Telnet, DNS, ICMP λ“± λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œμ„ κ΅¬ν˜„ν•˜λŠ” ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€κ°€ μ œκ³΅λœλ‹€. 이λ₯Ό 톡해 μžλ°” κ°œλ°œμžλŠ” μžμ‹ μ΄ ν•„μš”λ‘œ ν•˜λŠ” νŠΉμ • ν”„λ‘œν† μ½œμ„ μ‰½κ²Œ κ΅¬ν˜„ν•˜κ³  ν™œμš©ν•  수 μžˆλ‹€.

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œμ„ 톡해 λ„€νŠΈμ›Œν¬ 톡신을 κ΅¬ν˜„ν•  수 μžˆλŠ” κ°•λ ₯ν•œ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. κ°œλ°œμžλŠ” 이λ₯Ό ν™œμš©ν•˜μ—¬ μ•ˆμ •μ μ΄κ³  효율적인 λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€.

4. μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ νŠΉμ§•

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ„€νŠΈμ›Œν¬ 톡신을 μœ„ν•œ λ‹€μ–‘ν•œ κΈ°λŠ₯κ³Ό νŠΉμ§•μ„ μ œκ³΅ν•œλ‹€. 이λ₯Ό 톡해 μžλ°” κ°œλ°œμžλŠ” μœ μ—°ν•˜κ³  효율적인 λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€. μ•„λž˜λŠ” μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ μ£Όμš” νŠΉμ§•μ΄λ‹€.

4.1 ν‘œμ€€ 클래슀 라이브러리 제곡

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ μžλ°”μ˜ ν‘œμ€€ 클래슀 라이브러리인 java.net νŒ¨ν‚€μ§€λ₯Ό 톡해 μ œκ³΅λœλ‹€. 이 νŒ¨ν‚€μ§€μ—λŠ” λ‹€μ–‘ν•œ ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€κ°€ ν¬ν•¨λ˜μ–΄ 있으며, λ„€νŠΈμ›Œν¬ 톡신을 μœ„ν•œ ν•„μˆ˜μ μΈ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. κ°œλ°œμžλŠ” 이 ν‘œμ€€ 클래슀 라이브러리λ₯Ό ν™œμš©ν•˜μ—¬ 쉽고 λΉ λ₯΄κ²Œ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ„ κ΅¬ν˜„ν•  수 μžˆλ‹€.

4.2 TCP/IP ν”„λ‘œν† μ½œ 지원

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ TCP/IP 기반의 λ„€νŠΈμ›Œν¬ 톡신을 μ§€μ›ν•œλ‹€. TCP/IP ν”„λ‘œν† μ½œμ€ μΈν„°λ„·μ—μ„œ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμ΄λ©°, μ•ˆμ •μ μ΄κ³  μ‹ λ’°μ„± μžˆλŠ” 톡신을 μ œκ³΅ν•œλ‹€. μžλ°”μ—μ„œλŠ” Socketκ³Ό ServerSocket 클래슀λ₯Ό 톡해 TCP/IP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ 연결을 κ΅¬ν˜„ν•˜κ³  데이터λ₯Ό μ†‘μˆ˜μ‹ ν•  수 μžˆλ‹€.

4.3 λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œ 지원

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ HTTP, FTP, SMTP, POP3 λ“± λ‹€μ–‘ν•œ ν”„λ‘œν† μ½œμ„ μ§€μ›ν•œλ‹€. HTTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ μ›Ή μ„œλ²„μ™€ ν†΅μ‹ ν•˜κ±°λ‚˜, FTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ νŒŒμΌμ„ μ „μ†‘ν•˜κ³ , SMTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ 이메일을 λ³΄λ‚΄λŠ” λ“±μ˜ κΈ°λŠ₯을 κ΅¬ν˜„ν•  수 μžˆλ‹€. 이λ₯Ό 톡해 κ°œλ°œμžλŠ” λ‹€μ–‘ν•œ λ„€νŠΈμ›Œν¬ κΈ°λŠ₯을 자유둭게 μ‚¬μš©ν•  수 μžˆλ‹€.

4.4 λ³΄μ•ˆ κΈ°λŠ₯ 제곡

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ μžλ°”μ˜ λ‹€μ–‘ν•œ λ³΄μ•ˆ κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ 톡신 κ³Όμ •μ—μ„œ λ°μ΄ν„°μ˜ λ³΄μ•ˆμ„±μ„ κ°•ν™”ν•  수 μžˆλ‹€. SSL(Secure Socket Layer)κ³Ό 같은 μ•”ν˜Έν™” ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ 데이터 전솑 μ‹œ μ•”ν˜Έν™”λœ 연결을 μˆ˜λ¦½ν•˜κ±°λ‚˜, 인증 κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ μ•ˆμ „ν•œ 톡신을 보μž₯ν•  수 μžˆλ‹€. 이λ₯Ό 톡해 κ°œλ°œμžλŠ” λ„€νŠΈμ›Œν¬ 톡신 μ‹œ λ°œμƒν•  수 μžˆλŠ” λ³΄μ•ˆ μœ„ν—˜μ„ μ΅œμ†Œν™”ν•  수 μžˆλ‹€.

4.5 νŽΈμ˜μ„±κ³Ό μœ μ—°μ„± 제곡

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ κ°œλ°œμžμ—κ²Œ λ§Žμ€ νŽΈμ˜μ„±κ³Ό μœ μ—°μ„±μ„ μ œκ³΅ν•œλ‹€. κ°•λ ₯ν•œ API와 λ‹€μ–‘ν•œ 클래슀λ₯Ό ν™œμš©ν•˜μ—¬ λ„€νŠΈμ›Œν¬ 톡신을 μ‰½κ²Œ κ΅¬ν˜„ν•  수 있으며, ν•„μš”μ— 따라 κΈ°λŠ₯을 μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•  수 μžˆλ‹€. λ˜ν•œ, λ©€ν‹°μŠ€λ ˆλ“œ ν”„λ‘œκ·Έλž˜λ°μ„ μ§€μ›ν•˜μ—¬ λ™μ‹œμ— μ—¬λŸ¬ ν΄λΌμ΄μ–ΈνŠΈμ™€μ˜ 연결을 μ²˜λ¦¬ν•  수 μžˆλ‹€.

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ„€νŠΈμ›Œν¬ 톡신에 ν•„μš”ν•œ κΈ°λŠ₯κ³Ό λ³΄μ•ˆμ„±μ„ μ œκ³΅ν•˜λŠ” κ°•λ ₯ν•œ κΈ°μˆ μ΄λ‹€. κ°œλ°œμžλŠ” 이λ₯Ό ν™œμš©ν•˜μ—¬ μ•ˆμ •μ μ΄κ³  ν™•μž₯ κ°€λŠ₯ν•œ λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€.

5. μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ ν™œμš© μ˜ˆμ‹œ

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ λ‹€μ–‘ν•œ μ˜ˆμ‹œλ₯Ό 톡해 μ‹€μ œλ‘œ ν™œμš©λ  수 μžˆλ‹€. μ•„λž˜λŠ” λͺ‡ 가지 μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ˜ ν™œμš© μ˜ˆμ‹œμ΄λ‹€.

5.1 μ›Ή μ„œλ²„μ™€μ˜ 톡신

μžλ°”λŠ” HTTP ν”„λ‘œν† μ½œμ„ μ§€μ›ν•˜μ—¬ μ›Ή μ„œλ²„μ™€μ˜ 톡신을 κ°„νŽΈν•˜κ²Œ μ²˜λ¦¬ν•  수 μžˆλ‹€. HttpURLConnection 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ μ›Ή μ„œλ²„μ— GET λ˜λŠ” POST μš”μ²­μ„ 보내고, μ„œλ²„λ‘œλΆ€ν„° 응닡 데이터λ₯Ό 받을 수 μžˆλ‹€. 이λ₯Ό 톡해 μžλ™ν™”λœ μ›Ή νŽ˜μ΄μ§€ 접속, 데이터 μΆ”μΆœ, 데이터 전솑 λ“± λ‹€μ–‘ν•œ μ›Ή κΈ°λŠ₯을 μžλ°”λ‘œ κ΅¬ν˜„ν•  수 μžˆλ‹€.

5.2 파일 전솑

FTP ν”„λ‘œν† μ½œμ„ ν™œμš©ν•˜μ—¬ 파일 전솑 κΈ°λŠ₯을 κ΅¬ν˜„ν•  수 μžˆλ‹€. FTPClient 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ 원격 FTP μ„œλ²„μ™€ 연결을 μˆ˜λ¦½ν•˜κ³ , νŒŒμΌμ„ μ—…λ‘œλ“œν•˜κ±°λ‚˜ λ‹€μš΄λ‘œλ“œν•  수 μžˆλ‹€. 이λ₯Ό 톡해 μžλ°”λ‘œ λ‹€λ₯Έ μ‹œμŠ€ν…œκ³Όμ˜ 파일 곡유, 원격 λ°±μ—…, μ„œλ²„ 둜그 μˆ˜μ§‘ λ“± 파일 전솑 κ΄€λ ¨ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€.

5.3 이메일 전솑 및 μˆ˜μ‹ 

SMTP와 POP3 ν”„λ‘œν† μ½œμ„ ν™œμš©ν•˜μ—¬ 이메일을 μ „μ†‘ν•˜κ³  받을 수 μžˆλ‹€. JavaMail APIλ₯Ό μ‚¬μš©ν•˜μ—¬ 이메일 μ„œλ²„μ™€μ˜ 연결을 μˆ˜λ¦½ν•˜κ³ , 메일을 μž‘μ„±ν•˜κ±°λ‚˜ λ°›μ•„μ˜¬ 수 μžˆλ‹€. 이λ₯Ό 톡해 μžλ™ν™”λœ 이메일 λ°œμ†‘, 이메일 λ§ˆμΌ€νŒ…, 이메일 ν΄λΌμ΄μ–ΈνŠΈ λ“± λ‹€μ–‘ν•œ 이메일 κ΄€λ ¨ κΈ°λŠ₯을 μžλ°”λ‘œ κ΅¬ν˜„ν•  수 μžˆλ‹€.

5.4 μ†ŒμΌ“ 톡신

μžλ°”λŠ” TCP/IP ν”„λ‘œν† μ½œμ„ μ§€μ›ν•˜μ—¬ μ†ŒμΌ“ 톡신을 κ΅¬ν˜„ν•  수 μžˆλ‹€. Socketκ³Ό ServerSocket 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ 연결을 μˆ˜λ¦½ν•˜κ³ , 데이터λ₯Ό μ†‘μˆ˜μ‹ ν•  수 μžˆλ‹€. 이λ₯Ό 톡해 μ‹€μ‹œκ°„ μ±„νŒ…, λ©€ν‹°ν”Œλ ˆμ΄μ–΄ κ²Œμž„, λΆ„μ‚° 처리 μž‘μ—… λ“± λ‹€μ–‘ν•œ λ„€νŠΈμ›Œν¬ κΈ°λŠ₯을 μžλ°”λ‘œ κ΅¬ν˜„ν•  수 μžˆλ‹€.

μžλ°” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ„ ν™œμš©ν•˜λ©΄ λ‹€μ–‘ν•œ λ„€νŠΈμ›Œν¬ κΈ°λŠ₯을 μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆλ‹€. μ›Ή μ„œλ²„μ™€μ˜ 톡신, 파일 전솑, 이메일 처리, μ†ŒμΌ“ 톡신 λ“± λ‹€μ–‘ν•œ μ˜ˆμ‹œλ₯Ό 톡해 λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•  수 μžˆλ‹€. κ°œλ°œμžλŠ” μžλ°”μ˜ κ°•λ ₯ν•œ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ„ 톡해 λ‹€μ–‘ν•œ λ„λ©”μΈμ—μ„œ μœ μš©ν•˜κ²Œ ν™œμš©ν•  수 μžˆλ‹€.

λŒ“κΈ€