一番簡単なWebSocketをやりとりするJavaサーバープログラム 2

1 > 2 > 3 > 4 > 5 > (ページと結果)

つづいて、ハンドラー部

まずは、プログラム
package com.ttProject.webSocket.library;
 
import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;
 
import com.ttProject.webSocket.manager.SessionManager;
 
/**
 * WebSocketとの通信を実行するApacheMina用のハンドラー
 */
public class WebSocketHandler extends IoHandlerAdapter {
	/**
	 * 例外処理用
	 */
	@Override
	public void exceptionCaught(IoSession session, Throwable cause)
			throws Exception {
		cause.printStackTrace();
		super.exceptionCaught(session, cause);
	}
	/**
	 * クライアントとのセッションが確立したときの処理
	 */
	@Override
	public void sessionCreated(IoSession session) throws Exception {
		session.setAttribute("manager", new SessionManager(session));
		super.sessionCreated(session);
	}
	/**
	 * メッセージを受け取ったときの処理
	 */
	@Override
	public void messageReceived(IoSession session, Object message)
			throws Exception {
		if(message instanceof IoBuffer) {
			SessionManager smanager = (SessionManager)session.getAttribute("manager");
			smanager.setMessage((IoBuffer) message);
		}
		super.messageReceived(session, message);
	}
}
 

セッションは固有のものなので、そのセッションに属性として、データと処理を引き受けるクラスをくっつけてあります。

1 > 2 > 3 > 4 > 5 > (ページと結果)

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年02月11日 21:21
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。