場景
我使用golang創建了一個簡單的視頻流。首先,我使用來爲我的視頻提供服務。它一直工作,直到我同時連接4個選項卡到我的服務器,但前兩個只能工作,其餘的都不加載。我可以在播放兩個視頻的同時導航到菜單,但我無法播放其他視頻。我也嘗試過使用多個設備。只有兩個連接可以傳輸。http.ServeFile和http.ServeContent無法處理多個客戶端
因此,我將更改爲http.ServeFile
但它仍然相同,但是當我使用io.Pipes
時,它服務於每個請求,但問題是它無法尋求。
這裏是我的代碼:
package main
import (
"log"
"net"
"net/http"
"github.com/gorilla/mux"
)
func serveVideo(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
title := vars["title"]
ep := vars["ep"]
http.ServeFile(w, r, "video/" + title + "/" ep + ".mp4")
}
func main() {
const port string = "8080"
// Create mux router
r := mux.NewRouter()
r.HandleFunc("/video/{title}/{ep}", serveVideo)
// let mux handle
http.Handle("/", r)
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatal(err)
}
}
我希望你能有所幫助。謝謝。
可能在服務器配置級存在問題,限制活動連接。只是fyi,我不認爲Go代碼會這樣做,所以我會檢查你的apache配置或者其他的東西。 – evanmcdonnal
我沒有像_apache_或_nginx_運行的任何內容。我在Windows 10 64位上運行。有任何想法嗎? – dovahkiin
打開IIS以查找類似設置 – evanmcdonnal