Phần mềm Ktor là một framework để dễ dàng xây dựng các ứng dụng được kết nối – ứng dụng web, dịch vụ HTTP, ứng dụng di động và trình duyệt. Các ứng dụng được kết nối hiện đại cần phải không đồng bộ để cung cấp trải nghiệm tốt nhất cho người dùng và Kotlin coroutines cung cấp các phương tiện tuyệt vời để thực hiện điều đó một cách dễ dàng và đơn giản. Mục tiêu của phần mềm Ktor là cung cấp một khung đa định dạng end-to-end cho các ứng dụng được kết nối.
Vì sao bạn nên sử dụng phần mềm Ktor?
Kotlin và Coroutines
Phần mềm Ktor được xây dựng từ đầu bằng cách sử dụng Kotlin và Coroutines. Bạn có thể sử dụng một ngôn ngữ đa dạng, ngắn gọn, cũng như sức mạnh của lập trình không đồng bộ với luồng lệnh trực quan.
Nhẹ và linh hoạt
Ktor cho phép bạn chỉ sử dụng những gì bạn cần và cấu trúc ứng dụng của bạn theo cách bạn cần. Ngoài ra bạn cũng có thể mở rộng Ktor bằng plugin của riêng mình rất dễ dàng.
Được xây dựng và hỗ trợ bởi JetBrains
Phần mềm Ktor tạo bởi JetBrains, tạo ứng dụng máy khách và máy chủ không đồng bộ. Mọi thứ từ microservices đến các ứng dụng khách HTTP đa nền tảng một cách đơn giản. Mã nguồn mở, miễn phí và thú vị!
Những câu hỏi thường gặp của người dùng phần mềm Ktor
Hỏi: Làm thế nào để sửa lỗi nhập Ktor (màu đỏ) chưa được giải quyết?
Trả lời: Đảm bảo rằng các tạo tác Ktor tương ứng được thêm vào tập lệnh xây dựng.
Hỏi: Ktor có cung cấp cách bắt tín hiệu IPC (ví dụ: SIGTERM hoặc SIGINT) để việc tắt máy chủ có thể được xử lý một cách dễ dàng không?
Trả lời: Nếu bạn đang chạy EngineMain, nó sẽ được xử lý tự động. Nếu không, bạn cần phải xử lý nó theo cách thủ công. Bạn có thể sử dụng cơ sở Runtime.getRuntime (). AddShutdownHook JVM.
Hỏi: Làm cách nào để lấy IP máy khách sau proxy?
Trả lời: Thuộc tính call.request.origin cung cấp thông tin kết nối về người gọi ban đầu (proxy) nếu proxy cung cấp tiêu đề phù hợp và plugin ForwardedHeader được cài đặt.
Hỏi: Làm cách nào để kiểm tra các cam kết mới nhất trên main?
Trả lời: Bạn có thể nhận các bản dựng của Ktor từ jetbrains.space.
Hỏi: Làm cách nào để biết chắc tôi đang sử dụng phiên bản Ktor nào?
Trả lời: Bạn có thể sử dụng DefaultHeadersplugin gửi tiêu đề phản hồi tới Máy chủ với phiên bản Ktor trên đó, ví dụ:
Server: ktor-server-core/2.1.0
Hỏi: Định tuyến của tôi không được thực hiện. Làm thế nào tôi có thể gỡ lỗi nó?
Trả lời: Phần mềm Ktor cung cấp cơ chế theo dõi để giúp khắc phục sự cố trong các quyết định định tuyến. Kiểm tra phần Tracing Routes.
Hỏi: Làm thế nào để giải quyết khi “Response has already been sent”?
Trả lời: Điều này có nghĩa là bạn hoặc một plugin hoặc trình chặn, đã gọi các hàm call.respond * và bạn đang gọi lại nó.
Hỏi: Làm thế nào để giải quyết “No configuration setting found for key ktor”?
Trả lời: Điều này có nghĩa là phần mềm Ktor không thể tìm thấy tệp cấu hình. Kiểm tra lại xem nó có nằm trong thư mục tài nguyên không và thư mục tài nguyên có được đánh dấu như vậy không. Bạn có thể cân nhắc thiết lập một dự án bằng cách sử dụng trình tạo dự án hoặc plugin IntelliJ để có một dự án hoạt động làm cơ sở.
Hỏi: Tôi có thể sử dụng Ktor trên Android không?
Trả lời: Có, máy chủ và máy khách Ktor được biết là hoạt động trên Android 5 (API 21) trở lên, ít nhất là với công cụ Netty.
Hỏi: Tại sao ‘CURL -I’ trả về ‘404 Not Found’?
Trả lời: CURL -I là một bí danh của CURL –head thực hiện các yêu cầu HEAD. Theo mặc định, Ktor không xử lý các yêu cầu HEAD đối với trình xử lý GET. Để kích hoạt khả năng này, hãy cài đặt plugin AutoHeadResponse.
Hỏi: Làm cách nào để giải quyết chuyển hướng vô hạn khi sử dụng plugin ‘HttpsRedirect’?
Trả lời: Nguyên nhân có thể xảy ra nhất là chương trình phụ trợ của bạn đứng sau proxy ngược hoặc trình cân bằng tải và bên trung gian này đang thực hiện các yêu cầu HTTP bình thường đến chương trình phụ trợ của bạn, do đó, plugin HttpsRedirect bên trong chương trình phụ trợ Ktor của bạn tin rằng đó là một yêu cầu HTTP bình thường và phản hồi bằng chuyển hướng.
Thông thường, các proxy ngược gửi một số tiêu đề mô tả yêu cầu ban đầu (như đó là HTTPS hoặc địa chỉ IP ban đầu) và có một plugin ForwardedHeader để phân tích cú pháp các tiêu đề đó để plugin HttpsRedirect biết rằng yêu cầu ban đầu là HTTPS.
Hỏi: Làm thế nào để cài đặt “curl” trên Windows để sử dụng một công cụ tương ứng trên Kotlin / Native?
Trả lời: Công cụ khách Curl yêu cầu cài đặt thư viện curl. Trên Windows, bạn có thể muốn xem xét một nhị phân cuộn tròn MinGW / MSYS2.
ViHoth Corporation
Đại lý phân phối ủy quyền JetBrains tại Việt Nam