本文整理汇总了Golang中github.com/cloudfoundry-incubator/diego-ssh/server.Server.Serve方法的典型用法代码示例。如果您正苦于以下问题:Golang Server.Serve方法的具体用法?Golang Server.Serve怎么用?Golang Server.Serve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry-incubator/diego-ssh/server.Server
的用法示例。
在下文中一共展示了Server.Serve方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
Expect(err).NotTo(HaveOccurred())
permissions := &ssh.Permissions{
CriticalOptions: map[string]string{
"proxy-target-config": string(targetConfigJson),
"log-message": string(logMessageJson),
},
}
proxyAuthenticator.AuthenticateReturns(permissions, nil)
})
JustBeforeEach(func() {
sshProxy = proxy.New(logger.Session("proxy"), proxySSHConfig)
proxyServer = server.NewServer(logger, "127.0.0.1:0", sshProxy)
proxyServer.SetListener(proxyListener)
go proxyServer.Serve()
sshDaemon = daemon.New(logger.Session("sshd"), daemonSSHConfig, daemonGlobalRequestHandlers, daemonNewChannelHandlers)
sshdServer = server.NewServer(logger, "127.0.0.1:0", sshDaemon)
sshdServer.SetListener(sshdListener)
go sshdServer.Serve()
})
AfterEach(func() {
proxyServer.Shutdown()
sshdServer.Shutdown()
})
Context("when a new connection arrives", func() {
var clientConfig *ssh.ClientConfig
示例2:
BeforeEach(func() {
logger = lagertest.NewTestLogger("test")
echoHandler = &fake_server.FakeConnectionHandler{}
echoHandler.HandleConnectionStub = func(conn net.Conn) {
io.Copy(conn, conn)
conn.Close()
}
echoListener, err := net.Listen("tcp", "127.0.0.1:0")
Expect(err).NotTo(HaveOccurred())
echoAddress = echoListener.Addr().String()
echoServer = server.NewServer(logger.Session("echo"), "", echoHandler)
echoServer.SetListener(echoListener)
go echoServer.Serve()
serverSSHConfig = &ssh.ServerConfig{
NoClientAuth: true,
}
serverSSHConfig.AddHostKey(TestHostKey)
testDialer = &fakes.FakeDialer{}
testDialer.DialStub = net.Dial
testHandler = handlers.NewDirectTcpipChannelHandler(testDialer)
handler = &fake_handlers.FakeNewChannelHandler{}
handler.HandleNewChannelStub = testHandler.HandleNewChannel
newChannelHandlers := map[string]handlers.NewChannelHandler{
示例3:
fakeListener.AcceptStub = func() (net.Conn, error) {
cx := connectionCh
select {
case conn := <-cx:
return conn, nil
default:
return nil, errors.New("fail")
}
}
})
JustBeforeEach(func() {
srv = server.NewServer(logger, address, handler)
srv.SetListener(fakeListener)
srv.Serve()
})
It("accepts inbound connections", func() {
Expect(fakeListener.AcceptCallCount()).To(Equal(2))
})
It("passes the connection to the connection handler", func() {
Eventually(handler.HandleConnectionCallCount).Should(Equal(1))
Expect(handler.HandleConnectionArgsForCall(0)).To(Equal(fakeConn))
})
Context("when accept returns a permanent error", func() {
BeforeEach(func() {
fakeListener.AcceptReturns(nil, errors.New("oops"))
})