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收到且可成功解析
後記
雖然很喜歡vocus的配色,但今天第一次嘗試在這寫比較多code,發現超級不適合...,可能這邊的定位不應該放在程式分享,從明天開始要把這系列文章放到hackMD或是Obsidian吧~
Ref.