2017-07-13 16 views

答えて

1

使用Redigoと、このようなnetwork dial機能:

func dial(network, addr string) (net.Conn, error) { 
     user := "user" 
     password := "password" 
     sshAddr := "example.com:22" 
     redisAddr := ":6379" 
     config := &ssh.ClientConfig{ 
      User: user, 
      Auth: []ssh.AuthMethod{ 
       ssh.Password(passord), 
      }, 
     } 
     netConn, err := net.Dial("tcp", sshAddr) 
     if err != nil { 
      return nil, err 
     } 
     clientConn, chans, reqs, err := ssh.NewClientConn(netConn, sshAddr, config) 
     if err != nil { 
      netConn.Close() 
      return nil, err 
     } 
     client := ssh.NewClient(clientConn, chans, reqs) 
     conn, err := client.Dial("tcp", redisAddr) 
     if err != nil { 
      client.Close() 
      return nil, err 
     } 
     conn, nil 
} 

の場合アプリケーションはサーバーへの複数の接続を作成し、次にclientを作成しますそれぞれのダイヤルで一度再利用してください。

上記のコードはコンパイルされていないため、テストされていません。

+0

完璧な、これは私がそれを働かせるために必要なものです! – user2439604

関連する問題