监听服务
您可以启动服务器监听任何类型的net.Listener甚至http.Server实例。 服务器的初始化方法应该在最后通过Run函数传递。
Go开发人员用于服务其服务器的最常用方法是传递“hostname:ip”形式的网络地址。 有了Iris,我们使用的iris.Addr是一种iris.Runner类型。
//用网络地址监听tcp 0.0.0.0:8080
app.Run(iris.Addr(":8080"))
有时您在应用程序的其他位置创建了标准的net / http服务器,并希望使用它来为Iris Web应用程序提供服务。
// 与之前相同,但使用自定义的http.Server,也可能在其他地方使用
app.Run(iris.Server(&http.Server{
Addr:":8080"}))
最高级的用法是创建自定义或标准net.Listener并将其传递给app.Run。
// 使用自定义的net.Listener
l, err := net.Listen("tcp4", ":8080")
if err != nil {
panic(err)
}
app.Run(iris.Listener(l))
一个更完整的示例,使用仅限unix的套接字文件功能。
package main
import (
"os"
"net"
"github.com/kataras/iris"
)
func main() {
app := iris.New()
// UNIX socket
if errOs := os.Remove(socketFile); errOs != nil && !os.IsNotExist(errOs) {
app.Logger().Fatal(errOs)
}
l, err := net.Listen("unix", socketFile)
if err != nil {
app.Logger(