- PR -

割り込みのイベントを作る事は可能ですか?

1
投稿者投稿内容
ボム
ベテラン
会議室デビュー日: 2003/07/25
投稿数: 61
投稿日時: 2003-09-09 16:26
・PC_A、PC_Bの2台の端末があり、それぞれJavaアプリが起動しています。
・PC_Bは有る条件を満たすと文字列格納変数が"000"から"111"に変わります。
・PC_Aはスレッドを使い常にPC_Bの文字列格納変数を見ていて"000"から"111"に変わったら行う処理があります。

ここで、
PC_AがスレッドをまわしてPC_B内の文字列を常に監視しても良いのですが、
PC_B側から文字列が変わったらPC_Aに教える事ができないものかと考えました。

そこで、
PC_AにPC_Bから文字列が変わったら走るイベントを用意できないかなと考えました。
どうでしょうか?
できますでしょうか?
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-09-09 16:59
PC_Aをイベントドリブンで構築する。
PC_Bの条件変数が変更したら、PC_Aにイベントを送出する。

さて、端末間でのメッセージの送出はどうしたら良いのだろう。
CORBA ? , XML-RPC ? , SOAP ?

ここまでのイメージは浮かびますが、実装方法が思いつきません。
# どれも一筋縄ではいかなそう
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-09-09 17:08
こんにちは
ニシトミです。

これはObserverパターンで
いけるのではないでしょうか
ボム
ベテラン
会議室デビュー日: 2003/07/25
投稿数: 61
投稿日時: 2003-09-09 17:26
かずくん様、覚えていらっしゃらないとは思いますが、以前の質問ではお世話になりました。
そして今回もありがとうございます。
ニシトミ様、始めましてお答えありがとうございました。

かずくん様より引用
>PC_Aをイベントドリブンで構築する。
もう少し具体的に教えていただけませんか?
PC_Bからの受信を待つイベントのつくり方ですよね?

ニシトミ様より引用
>これはObserverパターンでいけるのではないでしょうか
こちらももう少し具体的に教えていだだけませんか?

よろしくお願いします。
らすかる
会議室デビュー日: 2003/08/18
投稿数: 5
投稿日時: 2003-09-09 17:31
PC_BからPC_Aへ通知すればいいのであれば、
PC_Aで、ServerSocket立てておいて
PC_Bから合図になるデータを送信する。
PC_Aで受信したらやりたい処理を呼べばよいですね。

と、単純に考えられるのですが
どういう環境を想定しているのかがわからないので、これ以上はなんとも。
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-09-09 17:51
ニシトミです

Observerについては、Googleに任せます。

Casperさんが
>PC_AがスレッドをまわしてPC_B内の文字列を常に監視しても良いのですが、
と仰っていたので、

監視Threadよりかは
Observerパターンかなぁと思いました。
update()の実装方法について
RMIやCORBA?
うーんごめんなさい解りません。
らすかる
会議室デビュー日: 2003/08/18
投稿数: 5
投稿日時: 2003-09-09 18:20
PC_BをCORBAクライアントとすれば、
Observerパターンも使えるのかもしれませんが…

結局、ここでやりたいことは、イベント云々というより、
単純にPC_Bがクライアント、PC_Aがサーバの
クライアント−サーバアプリケーションと考えるのが自然じゃないでしょうか?
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-09-09 18:44
引用:

らすかるさんの書き込み (2003-09-09 18:20) より:
PC_BをCORBAクライアントとすれば、
Observerパターンも使えるのかもしれませんが…

結局、ここでやりたいことは、イベント云々というより、
単純にPC_Bがクライアント、PC_Aがサーバの
クライアント−サーバアプリケーションと考えるのが自然じゃないでしょうか?




そのほうが自然ですね、
なんか頭固いみたいです。
出直してきます。
失礼します。
1

スキルアップ/キャリアアップ(JOB@IT)