manifest入りで適当にコンパイルしてjarファイルを作成
それをred5-home/plugins/に設置する。
アプリケーションのred5-web.xmlに以下を記述する。
全部さらすと以下のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/red5-web.properties" />
</bean>
<bean id="web.context" class="org.red5.server.Context" autowire="byType" />
<bean id="web.scope" class="org.red5.server.WebScope" init-method="register">
<property name="server" ref="red5.server" />
<property name="parent" ref="global.scope" />
<property name="context" ref="web.context" />
<property name="handler" ref="web.handler" />
<property name="contextPath" value="${webapp.contextPath}" />
<property name="virtualHosts" value="${webapp.virtualHosts}" />
</bean>
<bean id="webSocketTransport" class="com.ttProject.red5.server.plugin.websocket.WebSocketTransport" init-method="start">
<property name="port" value="8080"/>
</bean>
<bean id="web.handler" class="jp.co.ttProject.Application" singleton="true">
<property name="plugins">
<list>
<bean class="org.red5.server.plugin.PluginDescriptor">
<property name="pluginName" value="WebSocketPlugin"/>
<property name="pluginType" value="com.ttProject.red5.server.plugin.websocket.WebSocketPlugin"/>
<property name="method" value="doStart"/>
</bean>
</list>
</property>
</bean>
</beans>
追加したのは、webSocketTransportのbeanとpluginsというpropertyをApplicationAdapterに設定しました。
作成したプラグインのデフォルトポートは80としておきましたが、ほかのアプリとポートがかぶるので一応8080にしました。
これだけでws://(serverIpアドレス):8080/アプリ名/でアクセスし接続できるはずです。
僕の環境では、ws://localhost:8080/ttProject/
でアクセスができ、HandShakeが成立します。
接続を実施するとコンソール上には、以下の出力がでます。
GET /ttProject/ HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8080
Origin: null
Sec-WebSocket-Key1: 41v\2 = 6D 1521U0 8
Sec-WebSocket-Key2: 4/4_q? 35.21126M
HandShake complete
最終更新:2011年02月13日 21:47