我试图限制每个用户的流,我的想法是将用户是否流视频的信息存储到数据库中。然后,当创建 session 时,我将检查数据库并批准/拒绝流。
我的问题是 onHTTPCupertinoStreamingSessionCreate 被多次触发。我不知道为什么或如何可能。简而言之,这就是我的逻辑:
public void onHTTPCupertinoStreamingSessionCreate(HTTPStreamerSessionCupertino httpSession) {
if( alreadyStreaming( userID ) ){
httpSession.rejectSession();
return;
}
else{
setStreamActiveInDB( userID, true);
}
}
public void onHTTPCupertinoStreamingSessionDestroy(HTTPStreamerSessionCupertino httpSession) {
setStreamActiveInDB( userID, false );
}
关于如何检查为什么此事件多次触发的任何想法,或者关于如何限制每个用户的流数量的其他想法?
最佳答案
我也遇到过这个问题,一个特殊的场景是 HTTP 流链接位于移动浏览器中。用户单击链接,浏览器不知道内容类型,因此它会进行连接,这会导致新的 HTTP session ,从而调用 onHTTPCupertinoStreamingSessionCreate
。然后浏览器收到响应并知道这是一个视频,因此它启动了一个播放器。播放器请求 list ,即第二个 HTTP session 。我已经看到当播放器开始加载视频 block 时启动第三个 session 。然后前两个 session 最终死亡,第三个 session 存活。我必须使用各种技巧来连接这些 session 并将它们视为一个 session 。我希望这能让您了解为什么会发生这种情况。 因此,一般而言,新的 HTTP session 并不等于新连接的播放器。
关于java - Wowza - onHTTPCupertinoStreamingSessionCreate 被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32309442/