Вы называете вызов метода в модуле Wowza с использованием HTTPProvider (http://www.wowza.com/forums/content.php?30-httpproviders). Это дает вам URL-адрес в вашем Wowza-модуле, который ваше приложение сможет вызывать через HTTP.
Так, например, вы ваш модуль Wowza работает под умолчанию:
http://localhost:1935.
Вы можете добавить HTTPProvider к вашему Vhost.xml, такие как:
<HTTPProvider>
<BaseClass>com.mycompany.wms.module.SomeModule</BaseClass>
<RequestFilters>logout*</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
Это позволит вам вызвать URL, такие как:
http://localhost:1935/logout?id=123456789
В коде Java для вашего модуля, вам необходимо реализовать HTTProvider2Base е который вы создаете методом onHTTPRequest. В методе могут использоваться переменные в строке запроса (так в этом примере:? Id = 123456789). Вы также можете вызвать методы в своем модуле здесь.
Пример Java класс, который будет использовать этот вызов выглядит следующим образом:
package com.mycompany.wms.module;
import com.wowza.wms.http.HTTProvider2Base;
import com.wowza.wms.http.IHTTPRequest;
import com.wowza.wms.http.IHTTPResponse;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.vhost.IVHost;
public class SomeModule extends HTTProvider2Base {
public void onHTTPRequest(IVHost vhost, IHTTPRequest req, IHTTPResponse resp) {
//Get the user
String userId = req.getParameter("id");
getLogger().info("Logging out user: " + userId);
logoutUser(userId);
}
private void logoutUser(String userId){
//Do stuff here...
}
private WMSLogger getLogger(){
return WMSLoggerFactory.getLogger(SomeModule.class);
}
}
несколько подводных камней:
- Scoping в onHTTPRequest, кажется, вне вашего экземпляра так быть осторожным доступа к свойствам в экземпляр модуля.
- Мне пришлось прокомментировать узел HTTPProvider с HTTPServerVersion в нем, чтобы заставить меня работать. В моей версии Wowza она, похоже, переопределила всех других HTTPProviders.
- У меня также были проблемы с тем, что Wowza работает из IDE, не забирая вызовы на url через Visual Studio. Как только я внес изменения в служебную версию, звонки работали нормально.
приложение я построил, который сделал это в значительной степени основано на разговоре в этой статье: http://www.wowza.com/forums/content.php?182-HTTPProvider-that-returns-detail-server-info
Как вы играли поток из Wowza. Мне нужна помощь в этом ... –