Webサーバーの準備
以下の目的でWebサーバーを用意する
・クライアントがブラウザ上で利用するHTMLとJavaScriptを提供する
・クライアントとの間でWebSocketを使った通信を行う
処理の流れ
・net/httpパッケージを利用し、ルートのパスへのリクエストを待ち受ける
・リクエストを受け取ると、HTMLを返す
・ListenAndServeメソッドで、ポート番号上でWebサーバーを開始する
ソース
package main
import (
"log"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`
<html>
<head>
<title>GoのWebアプリケーション</title>
</head>
<body>
GoでWeb
</body>
</html>
`))
})
//Webサーバーの開始
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatal("ListenerAndServe:", err)
}
}
文法
net/httpパッケージ HTTPクライアントとサーバーの実装を提供してくれるパッケージ
http.HandleFunc関数 引数で受け取ったpatternにhandlerを登録する
ListenAndServe 引数で受け取ったTCPネットワークのアドレスで通信をリッスンし
来たコネクションをさばくためにServeメソッドを呼ぶ