2017-01-09 6 views
-1

私はプロキシのような行為でWebサーバーを作っています。私はその応答を与えるためにクライアントについての情報を得る必要があります。私はこのメッセージが表示され実行したときにGOでLocalAddressを取得するには?

func main(){ 

    li, err := net.Listen("tcp", ":8000") 
    if err != nil{ 
     log.Fatalln(err.Error()) 
    } 
    defer li.Close() 

    for{ 

     conn, err := li.Accept() 
     if err != nil { 
      log.Fatalln(err.Error()) 
     } 
     local := conn.LocalAddr 
     remote := conn.RemoteAddr 
     fmt.Println(string(local.Network)) 
     fmt.Println(string(remote.String)) 

     go handleConn(conn) 
    } 
} 

問題は次のとおりです: ここに私のコードです

local.Network undefined (type func() net.Addr has no field or method Network) 

をしかし、ドキュメンテーションは、addr型は、このメソッドを持っていると言う

https://golang.org/pkg/net/#Conn

https://golang.org/pkg/net/#Addr

答えて

1

関数を格納している変数localに関数を呼び出していません。

これを試してみてください:

local := conn.LocalAddr() 
remote := conn.RemoteAddr() 
関連する問題