ネットワーク開発のgolang

  1. 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ダイヤル(ネットワーク、アドレスの文字列)(コネチカット州、エラー)
  1. ウェブ開発

ネット/ 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(ワット、" こんにちは王!" 
}

  

参考:

  1. https://golang.google.cn/pkg/net/

  2. https://www.kancloud.cn/kancloud/the-way-to-go/165098は行く入門ガイド

  3. http://wiki.jikexueyuan.com/project/go-web-programming/03.3.htmlゴーのWeb プログラミング

  4. Webアプリケーションを書きます

おすすめ

転載: www.cnblogs.com/embedded-linux/p/11318418.html