Socket通信を使う

| コメント(0) | トラックバック(0)

ServerSocketのような常駐するJavaアプリに対してリクエストを投げて、レスポンスを得るにはどうすればいいのか悩んでいました。要はメソッドの呼び出しのように、引数を渡すと結果を返してくれるJavaアプリを作りたかったんです。
結論としてはクライアント側のSocketを介してメッセージをやりとりすればいいという、なんとも単純な話だったわけですが、そこへ至るまでに(調べ方すらわからないため)少し悩みました。

最初、アプリの静的変数にアクセスすれば?という無茶なことを考えていたんですが、当然、失敗しました。そもそも外部からアプリ内の変数にアクセスできたらセキュリティ上とんでもない脆弱性が生まれることになります。
でも、常駐アプリは外部とやりとりするために常駐しているわけなので、何か方法があるはずだとしばらく考えてみると、ふと浮かんだのはtomcatでした。tomcatは一度起動すると、8080ポートを使って外部とやりとりします。SocketServerも、初期化時に指定したポートを使ってやりとりします。つまり、指定したポートにメッセージを送信できる仕組みさえあれば対話することができるはず、と考えました。

指定したポートにI/Oストリームが使えるクラス・・・
それってまさに、いま使っているSocketクラスではないか!

というわけで、サーブレット上でSocketを開いてメッセージのやりとりができることを知ったのでした。。

トラックバック(0)

トラックバックURL: http://www.zerosugar.net/cgi/mt/mt-tb.cgi/37

コメントする

アイテム

  • eclipseのビルド・パス設定
  • cap_11120403.jpg
  • cap_11120402.jpg
  • cap_11120401.jpg
  • stone.jpg
  • road.jpg
  • jazzfrog.jpg
  • cap100425.jpg
  • img100424.jpg
  • Paprika_render_001.jpg

ウェブページ

このブログ記事について

このページは、shimanebitoが2010年3月11日 22:05に書いたブログ記事です。

ひとつ前のブログ記事は「XMLSocketが活きる場所」です。

次のブログ記事は「ユーザーにクリックされやすいボタンデザインの5つのポイント | コリス」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。