vocus logo

方格子 vocus

Day 3 : 初次接觸WebRTC

更新 發佈閱讀 4 分鐘

Introduction to WebRTC

由於之後想要做的專題是跟即時視訊相關,在開始作業前想對webrtc有些基本的了解,結果就是一踏入了解就發現這個水深的可怕,之後每天除了寫一點go,也會花時間學習這個協定。WebRTC是個用於瀏覽器之間溝通的協定,透過NAT Traversal(STUN、TURN)的技術讓我們可以在不知道public ip的情況下,NAT建立的temporary role連接兩個使用者。


Go one more

json是目前前後端常用於交換資料的方式,在go的gin框架裡面,通常會將我們所需要的json資料先定義一個struct,並綁定json屬性,接者使用ShouldBindJSON來取得已綁定的json的參數。

// 定義一個結構體,其屬性是json
type Member struct{
Id int8 `json:"id" binding:"required"`
Name string `json:"name" binding:"required"`
Password string `json:"password" binding:"required,min=8"`
}
func main(){
  var router = gin.Default()
  var port = ":8080"
  router.POST("/member",func(c *gin.Context){
    var member Member
    fmt.Println(member)
   if err :=c.ShouldBindJSON(&member);err !=nil{
  c.String(http.StatusBadRequest,err.Error())
  return
  }
    c.JSON(http.StatusOK, gin.H{
  "ID": member.Id,
  "Name": member.Name,
  "Password": member.Password,
})
  })
  router.Run(port)
}

過postman進行測試,header的content-type選擇application/json,接著在body裡面輸入json格式的資料,並server收到且可成功解析

raw-image

後記

雖然很喜歡vocus的配色,但今天第一次嘗試在這寫比較多code,發現超級不適合...,可能這邊的定位不應該放在程式分享,從明天開始要把這系列文章放到hackMD或是Obsidian吧~

Ref.

WebRTC: The secret power you didn't know Go has | Sean DuBois | Conf42 Golang 2021 - YouTube

留言
avatar-img
Blockcyber的沙龍
2會員
15內容數
紀錄轉職路上的點點滴滴
Blockcyber的沙龍的其他內容
2023/01/17
Stress testing 一早起床發現昨天辛苦整天網站又不能跑了,去看error.log發現原來是有其他服務使用到了80port,造成根本監聽不到,再去找找看是那些服務,結果可能是apache2使用到,直接怒sudo service apache2 stop,網站就恢復正常了。 今天除了再多熟悉
Thumbnail
2023/01/17
Stress testing 一早起床發現昨天辛苦整天網站又不能跑了,去看error.log發現原來是有其他服務使用到了80port,造成根本監聽不到,再去找找看是那些服務,結果可能是apache2使用到,直接怒sudo service apache2 stop,網站就恢復正常了。 今天除了再多熟悉
Thumbnail
2023/01/16
What the hack? 昨天信誓坦坦想說要將每天學習心得做一點紀錄,結果今天只做一件事,就是要把網站加上SSL憑證,再到Nginx做設定,以為一小時內就搞定的事情就處理了一整天...,可能是沒有分號、可能是url少了/符號、可能是沒有做port的導向、也可能檔案路徑設定錯誤,真的心中各種不甘,
Thumbnail
2023/01/16
What the hack? 昨天信誓坦坦想說要將每天學習心得做一點紀錄,結果今天只做一件事,就是要把網站加上SSL憑證,再到Nginx做設定,以為一小時內就搞定的事情就處理了一整天...,可能是沒有分號、可能是url少了/符號、可能是沒有做port的導向、也可能檔案路徑設定錯誤,真的心中各種不甘,
Thumbnail
2023/01/15
Introduction 在開始WeHelp第二階段時,每周都在想周日的時候要寫一篇網誌來記錄整周的學習,但前兩周沒有如期寫後,後面就心態就持續默許這偷懶的想法,到整個第二階段都沒有寫了@@,明天開始在完成原本訓練營一些HTTPS和AWS ELB的作業後,也要正式進入重頭戲了,再加上今天也去看了Yo
Thumbnail
2023/01/15
Introduction 在開始WeHelp第二階段時,每周都在想周日的時候要寫一篇網誌來記錄整周的學習,但前兩周沒有如期寫後,後面就心態就持續默許這偷懶的想法,到整個第二階段都沒有寫了@@,明天開始在完成原本訓練營一些HTTPS和AWS ELB的作業後,也要正式進入重頭戲了,再加上今天也去看了Yo
Thumbnail
看更多
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
GOB Go官方有提供net/rpc的RPC套件。此套件提供GOB的編/解碼,且支援TCP或HTTP傳輸方式。它可以在伺服器端註冊多個不同類型物件。 遠端存取的要求條件 方法的類型可輸出 方法的本體可輸出 方法必須要有兩個參數是輸出或內建 方法的第二個參數是指標型 方法的返回類型為
Thumbnail
GOB Go官方有提供net/rpc的RPC套件。此套件提供GOB的編/解碼,且支援TCP或HTTP傳輸方式。它可以在伺服器端註冊多個不同類型物件。 遠端存取的要求條件 方法的類型可輸出 方法的本體可輸出 方法必須要有兩個參數是輸出或內建 方法的第二個參數是指標型 方法的返回類型為
Thumbnail
gRPC是一款跨平台、高性能的RPC框架,他可以在任何環境下執行,主要用於後端為服務開發。在用戶端應用程式中,可以像本地物件那樣呼叫遠端伺服器的方法,因此可以創建出分散式應用。 使用 到https://github.com/protocolbuffers/protobuf/releases下
Thumbnail
gRPC是一款跨平台、高性能的RPC框架,他可以在任何環境下執行,主要用於後端為服務開發。在用戶端應用程式中,可以像本地物件那樣呼叫遠端伺服器的方法,因此可以創建出分散式應用。 使用 到https://github.com/protocolbuffers/protobuf/releases下
Thumbnail
👨‍💻 簡介 最近想要透過小實作來撰寫筆記,達到做中學的效果,因此就來實作個小爬蟲順便結合前面學到的package做一個小複習。
Thumbnail
👨‍💻 簡介 最近想要透過小實作來撰寫筆記,達到做中學的效果,因此就來實作個小爬蟲順便結合前面學到的package做一個小複習。
Thumbnail
RESTful Web 服務是現代 Web 和移動應用的核心,它們提供了一個標準化的方式來互動和交換數據。使用Gin構建這些服務是一種流行選擇,還記得之前提過的 嗎?本文將介紹一些最佳實踐,幫助你創建高效和可維護的RESTful服務。
Thumbnail
RESTful Web 服務是現代 Web 和移動應用的核心,它們提供了一個標準化的方式來互動和交換數據。使用Gin構建這些服務是一種流行選擇,還記得之前提過的 嗎?本文將介紹一些最佳實踐,幫助你創建高效和可維護的RESTful服務。
Thumbnail
微服務架構是一種把應用程序劃分成一系列小的、獨立的服務,每個服務都運行在其自己的進程中,並與其他服務通過 API 或 RPC 通信。在這篇文章中,我們將使用 Gin 作為我們的 HTTP 框架,並使用 gRPC 來實現服務間的通信。
Thumbnail
微服務架構是一種把應用程序劃分成一系列小的、獨立的服務,每個服務都運行在其自己的進程中,並與其他服務通過 API 或 RPC 通信。在這篇文章中,我們將使用 Gin 作為我們的 HTTP 框架,並使用 gRPC 來實現服務間的通信。
Thumbnail
嗨,開發者們!在網頁應用的世界中,即時通訊是一個越來越重要的特點。WebSocket提供了一個高效的方式來支持這種通訊,並且能夠在客戶端和伺服器之間提供雙向的即時通訊。本篇文章將會帶你走進WebSocket的世界,並學習如何在Gin框架中實現它。
Thumbnail
嗨,開發者們!在網頁應用的世界中,即時通訊是一個越來越重要的特點。WebSocket提供了一個高效的方式來支持這種通訊,並且能夠在客戶端和伺服器之間提供雙向的即時通訊。本篇文章將會帶你走進WebSocket的世界,並學習如何在Gin框架中實現它。
Thumbnail
這篇文章主要介紹 TCP 可靠性傳輸服務、連接管理、流量控制及擁塞控制等...
Thumbnail
這篇文章主要介紹 TCP 可靠性傳輸服務、連接管理、流量控制及擁塞控制等...
Thumbnail
Introduction to WebRTC 由於之後想要做的專題是跟即時視訊相關,在開始作業前想對webrtc有些基本的了解,結果就是一踏入了解就發現這個水深的可怕,之後每天除了寫一點go,也會花時間學習這個協定。WebRTC是個用於瀏覽器之間溝通的協定,透過NAT Traversal(STUN、
Thumbnail
Introduction to WebRTC 由於之後想要做的專題是跟即時視訊相關,在開始作業前想對webrtc有些基本的了解,結果就是一踏入了解就發現這個水深的可怕,之後每天除了寫一點go,也會花時間學習這個協定。WebRTC是個用於瀏覽器之間溝通的協定,透過NAT Traversal(STUN、
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News