Wowza - 多次调用 onHTTPCupertinoStreamingSessionCreate
Wowza - onHTTPCupertinoStreamingSessionCreate called multiple times
我正在尝试限制每个用户的流,我的想法是将用户是否流式传输视频的信息存储到数据库中。然后在创建会话时我会检查数据库和 approve/reject 流。
我的问题是多次触发 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 流 link 在移动浏览器中。用户单击 link,浏览器不知道内容类型,因此它会连接,这会导致新的 HTTP 会话,从而调用 onHTTPCupertinoStreamingSessionCreate
。然后浏览器得到响应并知道这是一个视频,所以它启动了一个播放器。播放器请求清单,即第二个 HTTP 会话。我已经看到当播放器开始加载视频块时启动了第三个会话。然后前两个会话最终死亡,第三个会话存活。我不得不采取各种技巧来连接这些会话并将它们计为一个会话。我希望这能让您了解为什么会发生这种情况。 所以一个新的HTTP会话一般不等于一个新的连接播放器。
我正在尝试限制每个用户的流,我的想法是将用户是否流式传输视频的信息存储到数据库中。然后在创建会话时我会检查数据库和 approve/reject 流。
我的问题是多次触发 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 流 link 在移动浏览器中。用户单击 link,浏览器不知道内容类型,因此它会连接,这会导致新的 HTTP 会话,从而调用 onHTTPCupertinoStreamingSessionCreate
。然后浏览器得到响应并知道这是一个视频,所以它启动了一个播放器。播放器请求清单,即第二个 HTTP 会话。我已经看到当播放器开始加载视频块时启动了第三个会话。然后前两个会话最终死亡,第三个会话存活。我不得不采取各种技巧来连接这些会话并将它们计为一个会话。我希望这能让您了解为什么会发生这种情况。 所以一个新的HTTP会话一般不等于一个新的连接播放器。