golang file server

使用:
http.ListenAndServe(portStr, http.FileServer(http.Dir(outputDir)))


http.FileServer()源码:

// FileServer returns a handler that serves HTTP requests
// with the contents of the file system rooted at root.
//
// To use the operating system's file system implementation,
// use http.Dir:
//
//     http.Handle("/", http.FileServer(http.Dir("/tmp")))
//
// As a special case, the returned file server redirects any request
// ending in "/index.html" to the same path, without the final
// "index.html".
func FileServer(root FileSystem) Handler {
	return &fileHandler{root}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
golang中的socke.io库可以用于实现实时应用程序。下面是一个简单的示例,演示如何在golang中使用socket.io: 首先,需要安装socket.io库。可以使用以下命令进行安装: ```shell go get github.com/googollee/go-socket.io ``` 接下来,可以使用以下代码创建一个socket.io服务器: ```go package main import ( "log" "net/http" "github.com/googollee/go-socket.io" ) func main() { server, err := socketio.NewServer(nil) if err != nil { log.Fatal(err) } server.On("connection", func(so socketio.Socket) { log.Println("on connection") so.Join("chat") so.On("chat message", func(msg string) { log.Println("emit:", so.Emit("chat message", msg)) so.BroadcastTo("chat", "chat message", msg) }) so.On("disconnection", func() { log.Println("on disconnect") }) }) server.On("error", func(so socketio.Socket, err error) { log.Println("error:", err) }) http.Handle("/socket.io/", server) http.Handle("/", http.FileServer(http.Dir("./asset"))) log.Println("Serving at localhost:5000...") log.Fatal(http.ListenAndServe(":5000", nil)) } ``` 在上面的代码中,我们创建了一个socket.io服务器,并在“connection”事件上订阅了一个回调函数。在这个回调函数中,我们加入了一个名为“chat”的房间,并在“chat message”事件上订阅了另一个回调函数。在这个回调函数中,我们使用“BroadcastTo”方法将消息广播到“chat”房间中的所有客户端。 接下来,可以使用以下代码创建一个socket.io客户端: ```go package main import ( "log" "github.com/googollee/go-socket.io" ) func main() { socket, err := socketio.Dial("ws://localhost:5000/socket.io/") if err != nil { log.Fatal(err) } socket.On("chat message", func(msg string) { log.Println("received message:", msg) }) socket.Emit("chat message", "hello world") } ``` 在上面的代码中,我们创建了一个socket.io客户端,并在“chat message”事件上订阅了一个回调函数。在这个回调函数中,我们打印了收到的消息。然后,我们使用“Emit”方法向服务器发送了一条消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值