###前提・実現したいこと
Javaのwebアプリケーションにてソケット通信によるクライアントとサーバの電文送受信機能を実現したいと思っています。
初期処理としてサーブレットのコンテキストリスナによってそれぞれをソケットでつなぐ処理を行い、その後常時接続を維持します。
処理の流れ
1. ServletContextListenerにてソケット通信の接続のみを行う。
2. Servlet内でリスナ内で行なった接続情報を用いてデータの送受信を行う。送受信完了後もソケットは切断せず
###発生している問題・エラーメッセージ
上記の機能を実装する上で初期処理にて作成したソケットオブジェクトをその後のEJBやサーブレットの処理の中で参照もしくはそのソケットオブジェクトの接続情報を別のインスタンスに持たせて電文の送受信を行いたいのですが、JavaのSocketクラスのAPIには既存、もしくは接続済みのSocketクラスのインスタンスを参照するメソッドがないため初期処理で行なった接続情報をその後の処理で参照する方法が思いつきません。
一応現在検討しているものはServletContextにリスナで使用したSocketクラスのインスタンスをsetAttributeしてその後のServletやEJBの処理にServletContextから取り出したオブジェクトを渡すという非効率な方法になります。
このようなソケット通信を行う際の良い方法は何かありますでしょうか?
###補足情報(言語/FW/ツール等のバージョンなど)
IDE:NetBeans8.1
使用するアプリケーションサーバ:glassfish4.1
回答2件
あなたの回答
tips
プレビュー