[kotlin] Ktor Core의 Client-Server 상호작용
Ktor은 Kotlin으로 작성된 비동기 웹 프레임워크이며, 클라이언트와 서버 간의 통신을 단순하게 만드는 강력한 도구를 제공합니다. Ktor Core는 Ktor 프레임워크의 기본 모듈로, 클라이언트와 서버 양쪽에서 사용될 수 있습니다.
Ktor Core의 기능
Ktor Core를 사용하면 다음과 같은 기능을 활용할 수 있습니다:
- HTTP 클라이언트 및 서버 엔진
- 비동기 네트워크 프로그래밍을 지원하는 coroutine 기반 API
- JSON, 웹소켓, 클라이언트 인증, 서버 기본 설정 등의 지원
- 내장된 개발 서버를 통한 간단한 웹 어플리케이션 프로토타이핑
클라이언트-서버 상호작용 구현
클라이언트에서 서버로 GET 요청하기
import io.ktor.client.*
import io.ktor.client.request.*
suspend fun main() {
val client = HttpClient()
val response: String = client.get("https://api.example.com/data")
println("서버 응답: $response")
client.close()
}
서버에서 클라이언트로 GET 요청에 응답하기
import io.ktor.application.*
import io.ktor.http.*
import io.ktor.response.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
fun main() {
embeddedServer(Netty, port = 8080) {
routing {
get("/data") {
call.respondText("요청 받음")
}
}
}.start(wait = true)
}
결론
Ktor Core의 클라이언트-서버 상호작용을 통해 Kotlin을 사용하여 간편하게 웹 애플리케이션을 개발할 수 있습니다. 안전하고 강력한 coroutine 기반 API를 활용하여 비동기 네트워크 프로그래밍을 할 수 있으므로, Ktor은 모던한 웹 개발에 매우 유용한 도구입니다.
더 알아보려면, Ktor 공식 문서를 참고하세요.