-
TCPサーバ/クライアントの開発
ネットパッケージは提供し、ネットワークI / Oを含め、開発インターフェイスを TCP / IP 、 UDP 、 DNS 、および Unixのドメインソケット。
一般的な開発は、一般的に唯一の最も基本的なインターフェイスや機能を必要とします:
サーバー: net.Listen() 、 net.Accept()
LN、ERR:= net.Listen(" TCP "、" :8080 " ) の場合は!誤る= nilの{ // エラー処理 } のための{ :CONN、ERR = ln.Accept() であれば!ERR = nilの{ // ハンドルエラー } handleConnection(conn)を行きます }
クライアント: net.Dial()
CONN、ERR:= net.Dial(" TCP "、" golang.org:80 " ) であれば!ERR = nilの{ // エラー処理 } fmt.Fprintf(CONN、" GET / HTTP / 1.0 \ rを\ n個の\ rを\ N " ) の状態、ERR: = bufio.NewReader(CONN).ReadString(' \ nを' ) // ...
関連 APIの定義:
FUNC聞く(ネットワーク、アドレスの文字列)(リスナー、エラー) FUNC(リットル *のTCPListener)(コネチカット州、エラー))(受け入れ FUNCダイヤル(ネットワーク、アドレスの文字列)(コネチカット州、エラー)
-
ウェブ開発
ネット/ HTTPのためのパッケージ EBは、開発するためにサポートを提供することができ非常に簡単にウェブルーティング、静的ファイル、テンプレート、クッキーの設定や操作などのデータ。
主に二つのステップ:リスニングポートを設定し、アクセスルートを設定します。
FUNC HandleFunc(パターン文字列、ハンドラFUNC(ResponseWriter、* リクエスト)) ListenAndServe FUNC(ADDR ストリング、ハンドラハンドラ)エラー (http.ResponseWriter、REQ W HFunc FUNC * http.Request)
次のようにサンプルアプリケーションは、次のとおりです。
インポート( " FMT " " ネット/ HTTP " " 文字列" " ログイン" ) FUNCメイン(){ http.HandleFunc(" / "、sayhelloName) // 设置访问路由 ERR:= http.ListenAndServe(" :9090 "、nilに)// 设置监听端口 場合!誤る= ゼロ{ log.Fatal(" ListenAndServe:" 、ERR) } } sayhelloName FUNC(W http.ResponseWriter、R * http.Request){ r.ParseForm() fmt.Println(" --------------- " ) fmt.Println(r.Form) fmt.Println(" パス:" 、r.URL.Path) fmt.Println(" スキーム:" 、r.URL.Scheme) fmt.Println(r.Form [ " url_long " ]) fmt.Println(" ==== " ) のために K、V:= 範囲r.Form { (fmt.Println " キー:" 、K) fmt.Println(" ヴァル:"、strings.Join(V、" " )) } fmt.Fprintf(ワット、" こんにちは王!" ) }
参考: