シナリオ
golangを使用して簡単なビデオストリーマを作成しました。まず、を使って自分の動画を配信しました。私はが同時にの4つのタブを私のサーバに接続するまで動作していましたが、最初の2つは動作し、残りは全くロードされません。私は2つのビデオをストリーミング中にメニューに移動できますが、残りの部分はストリーミングできません。私も複数のデバイスを使って試しました。接続できるのは2つの接続だけです。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_ runningのようなものは持っていません。私はWindows 10 64ビットで動作しています。何か案は? – dovahkiin
IISを開いて同様の設定を見つけよう – evanmcdonnal