tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルVB6で教えてください。
記事No13391
投稿日: 2009/02/02(Mon) 15:29
投稿者美露紅
すみません。VB6激初心者な私に教えてください。

1、デバイスがTCPIPで繋がっているのですが、そのデバイスから信号を受け取りたいのですがどのようにプロトコルを組めばよいのでしょうか??
そのとき繋がっているデバイスのアドレスなども自動で取得したいです。

2、上記のことをWindowsが開いたときから監視してシャットダウンする前に終了したいのですがどうすればよいですか??

分かりにくい説明ですが宜しくお願い致します。

[ツリー表示へ]
タイトルRe: VB6で教えてください。
記事No13392
投稿日: 2009/02/02(Mon) 15:48
投稿者オショウ
> 1、デバイスがTCPIPで繋がっているのですが、そのデバイスから信号を受け取りたいのですがどのようにプロトコルを組めばよいのでしょうか??
> そのとき繋がっているデバイスのアドレスなども自動で取得したいです。

  まずその機器がソケット通信でアドレス情報を公開(伝達)する仕組みを
  搭載していないと無理です。身近にある例では、プリントサーバーとかで
  しょうか・・・

  次に機器のアドレスは、機器自身どうやって決めているのでしょう?
  DHCP?何等かの仕組みで直接アドレス設定できるもの?
  DHCPならそれこそ上記の方式が無いと解りません。予め機器に設定し
  ているならば、そのソフトが稼働するPCのLMHOSTやHOSTに設定して、
  プログラムから参照(名前解決)させるか、VB6内で直接設定しましょう。

  またプロトコルですが・・・
  機器がネットワーク対応ならプロトコル搭載されているはずですが・・・

  それともソケット通信の仕方を問われているのでしょうか?
  そうであれば、まず、Socket通信に関わるVB6のサンプルを入手されて
  そこからかと・・・

> 2、上記のことをWindowsが開いたときから監視してシャットダウンする前に終了したいのですがどうすればよいですか??

  一番良い方法は・・・
  システムサービスに登録する方法ですが・・・
  上記の通信させままならないようなので、こちらはハードルが高すぎて?
  実現にはまだまだ時間がかかるでしょう。

※ 余談ながら・・・
  なぜまだVB6?
  .NETの方が格段に楽なんですが・・・

以上。

[ツリー表示へ]
タイトルRe: VB6で教えてください。
記事No13393
投稿日: 2009/02/02(Mon) 15:52
投稿者オショウ
因みに、そのデバイスって何?
解れば詳しく教えてくれる人も居るかも・・・

以上。

[ツリー表示へ]
タイトルRe^2: VB6で教えてください。
記事No13394
投稿日: 2009/02/02(Mon) 16:05
投稿者美露紅
デバイスはREMPって言う装置です。

デバイス側のプロトコルがJAVA??で組まれていて分からないんですよ。

試用としては、デバイスが終了のコマンド吐き出してきてそれをキャッチして他のデバイスを実行させるのが目的です。

[ツリー表示へ]
タイトルRe^3: VB6で教えてください。
記事No13395
投稿日: 2009/02/02(Mon) 16:17
投稿者美露紅
すみません。デバイス名はREMPのチューブパンチングモジュール (TPM)でした。

[ツリー表示へ]
タイトルRe^4: VB6で教えてください。
記事No13396
投稿日: 2009/02/02(Mon) 16:33
投稿者オショウ
> すみません。デバイス名はREMPのチューブパンチングモジュール (TPM)でした。

  これに似た装置・システムをとある企業様で受注しやった
  ことありますが、機器側にリファレンス添付されていません?

  メーカーのサイトで製品説明やカタログみましたが・・・
  『Windowsで簡単に操作できる』との文言がありましたので
  外部I/Oやソケット通信の説明やサンプルソフトが添付され
  ていると思いますが。

  まさかそこにJAVAだけでこうすんじゃ〜・・・
  なんてしか書いてないんですか?

  もしくは、REMPの日本オフィスに電話かメールしてみれば?

以上。

[ツリー表示へ]
タイトルRe^5: VB6で教えてください。
記事No13397
投稿日: 2009/02/02(Mon) 16:53
投稿者美露紅
詳しく聞いてみたのですが、ポートはこちらで指定できるみたいです。
一応コマンド表は貰いました。
自動実行はWindowsから直接実行させます。

こんな感じでJAVAでプロトコルが添付されてました。

    JTextField getTextField()
    {
        if (textField == null)
        {
            final JTextField instance;
            instance = new JTextField(30);
            instance.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    String line = instance.getText();
                    out.println(line);
                    report(true, line);
                    instance.setText("");
                }
            });
            textField = instance;
        }
        return textField;
    }

    /**
     * Listens to answers from the server and writes incoming data into the protocol text area.
     */
    void listen()
    {
        Runnable runnable = new Runnable()
        {

            public void run()
            {
                try
                {
                    while (true)
                    {
                        report(false, in.readLine());
                    }
                }
                catch (IOException ex)
                {
                    System.err.println(ex.getMessage());
                }
            }
        };
        Thread thread = new Thread(runnable);
        thread.start();
    }

指定のコマンドを送って受信する方法を教えてください。
(サンプルプログラムはございますか??)

色々お手数お掛けしてすみません.....。

[ツリー表示へ]
タイトルすみません。簡単になりました。
記事No13399
投稿日: 2009/02/02(Mon) 17:39
投稿者美露紅
アドレスとポートが固定されているところに、コマンドを送ってリターンを待つだけになりました。
簡単なサンプルプロトコルなんかはありますか??

[ツリー表示へ]
タイトルRe: すみません。簡単になりました。
記事No13401
投稿日: 2009/02/02(Mon) 21:45
投稿者オショウ
> アドレスとポートが固定されているところに、コマンドを送ってリターンを待つだけになりました。
> 簡単なサンプルプロトコルなんかはありますか??

  ググったら、いろいろ出てきますが・・・

  本家マイクロソフトでも
  http://msdn.microsoft.com/ja-jp/library/cc440898.aspx

  参考までに。

以上。

[ツリー表示へ]
タイトルRe^2: すみません。簡単になりました。
記事No13404
投稿日: 2009/02/03(Tue) 09:14
投稿者美露紅
ありがとう御座いました。
頑張ってみます。

[ツリー表示へ]