iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

深入解析 Kotlin 專案 Ktor 的程式碼,探索 Ktor 的強大功能 系列

深入探索 Kotlin 所撰寫網頁後端框架 Ktor 的程式碼,揭開其強大功能。文章深入分析 Ktor 的核心架構、異步程式等等,幫助您更了解如何運用 Ktor 開發現代 Web 應用程式,以及更理解 Ktor 開發者如何設計一個網頁後端框架。

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文 團隊捲土重來的Kotlin鐵人們
DAY 21

Day 21:Ktor 怎麼安裝 WebSockets 與建立一個 webSocket route

前面二十天,我們看過了 Ktor 怎麼建立專案,怎麼作為 server 回傳資訊,我們看過了怎麼回傳純文字,以及怎麼透過一系列函數生成 HTML 畫面。另外,也...

2023-10-05 ‧ 由 ReccaChao 分享
DAY 22

Day 22:call.respondWebSocketRaw 的實作以及 RawWebSocket

今天我們來看 call.respondWebSocketRaw 的實作細節 call.respondWebSocketRaw 的實作程式如下 // these...

2023-10-06 ‧ 由 ReccaChao 分享
DAY 23

Day 23:webSocket 的 Frame 以及對應的各個函數

今天我們來看看 webSocket("/echo") 裡面所定義的行為 send("Please enter your name&...

2023-10-07 ‧ 由 ReccaChao 分享
DAY 24

Day 24:針對 WebSockets Frame 的實作細節

前幾天我們看過了 WebSockets 的引擎實作,使用方式,以及背後的運作邏輯 今天我們來看看 Frame 的實作細節 簽名以及註解 /** * A fra...

2023-10-08 ‧ 由 ReccaChao 分享
DAY 25

Day 25:定義自己的 Connection 以及存取 DefaultWebSocketSession

今天我們來看看,如果我們要能讓 webSocket 連線和其他的連線互動該怎麼處理 根據官方教學,首先我們要先建立一個自己的 Connection 物件 pac...

2023-10-09 ‧ 由 ReccaChao 分享
DAY 26

Day 26:webSocket Client 的撰寫以及實作

看完了如何建立一個接收 webSocket 請求的 server 之後 今天,我們來看看如果將 Ktor 當作 Client 端 要透過 webSocket 持...

2023-10-10 ‧ 由 ReccaChao 分享
DAY 27

Day 27:利用 createApplicationPlugin 定義客製化套件

前面我們已經討論過了大多數 Ktor 框架提供的功能。 從 v2.2.0 開始,Ktor 還提供了一個功能,就是允許開發者自己開發客製化的套件。 今天我們來看看...

2023-10-11 ‧ 由 ReccaChao 分享
DAY 28

Day 28:自定義套件的 onCall、onCallReceive、onCallRespond

昨天我們試著寫了一個 SimplePlugin import io.ktor.server.application.* val SimplePlugin =...

2023-10-12 ‧ 由 ReccaChao 分享
DAY 29

Day 29:利用 createConfiguration 設置自定義套件參數

自定義套件除了前面所說的,可以設置行為以及事件之外 Ktor 還提供了設置套件參數的方式 根據官網,我們可以看到教學是先定義了參數類別 class Plugin...

2023-10-13 ‧ 由 ReccaChao 分享
DAY 30

Day 30:Ktor 原始碼的總結以及功能

今天是最後一天了,我們來看看這幾天以來,我們都學會了什麼。 首先,在 Day 02 時,我們看過了怎麼開啟一個 embeddedServer 服務,並且看到了使...

2023-10-14 ‧ 由 ReccaChao 分享