2016-11-21 13 views
0

私はこれを達成する方法が不思議です。私は何をgoogleにするか分からない。PhpからC++ Windowsアプリケーションにコマンドを送信

ウェブサーバーがあり、ボタン付きのPHPページを作成したい場合。そのボタンをクリックすると、リモートマシン上で実行されているC++アプリケーションが関数を実行します。

これを達成する最も簡単な方法は何ですか?これのライブラリは既に存在しますか?これを開始するにはどうすればいいですか?

ありがとうございました。

+0

リモートマシンはサーバー上で実行されているか、 –

+0

Google for: 'windows communication foundation'、' dcom'、 'リモートコンピュータでのwin32起動プロセス' – selbie

+0

アプリケーションがC言語で書かれているとどうなりますか? – user4581301

答えて

1

使用PHP-バッククォート

http://php.net/manual/de/language.operators.execution.php

あなたは、任意の実行可能ファイルを呼び出し、変数にその出力を取ることができます。

例:

$結果= ` mycppapp.exe `

よろしく

+0

私は質問が開始についてではなく、むしろ既に実行中のアプリケーションを制御すると思いましたか?さらに、元の質問には明らかにWindowsホストは遠隔地であると言われています。だから、バックティックはここでの解決策ではありません。 –

+0

これは私にとってはうまくいくとは思えません。私はそれがすでに実行中のアプリケーションでコード/機能を実行したい。まったく新しいプロセスを開始することはありません。 – mocode9

+0

最良の方法は、特定のポートでリスナーを作成することです。その後、そのポートを介してPHPでリクエストを送信します。これで関数がトリガされます。このhttp://www.sfml-devのような素晴らしいアドオンがあるようです。org /これはそのような努力を簡素化するようだ。 – Daidon

0

それはあなたのC++アプリに多少依存します。
しかし、基本的な考え方はこれです。
ボタンをクリックするとボタンが定義されます.AJAX GETまたはPOSTをPHPプログラムに開始します(可能なバリエーションがあります。フォーム経由で行うこともできます)。
あなたのPHPは遠隔のWindowsホストへの接続を開始することができ、これは難しいところです。

  • Windows C++アプリケーションはネットワーク経由でコマンドを受信できますか?つまり、REST APIはありますか?それとも、TCPを介して制御する他の手段ですか?
  • 正確に何をしたいですか?単にこのアプリを起動するか、何らかの方法で制御しますか?

REST APIを持っていれば、簡単です。あなたは、RESTメッセージを送るためにPHP curlのような簡単なものから始めてもよいでしょう。 リモートコントロールAPIとCLIのみがない場合は、リモートpowershellを使用して起動する必要があります。
このようなものpowershell - execute cmdlet remotely with php

+0

残りはcpprest DLLに依存していたので、私のクライアントはdllをプロジェクトに追加するのを楽しみにしていた。しかし、はい私のC + +アプリケーションは、ネットワークにアクセスしています。私はそれがPHPページに接続する方法を知らない事。たぶん、ボタンがクリックされたときにPHPページで別のPHPページに変数を書き出すことができました。そして、たいていの場合、私のC++アプリケーションをそのページに接続して変数をチェックすることがよくあります。それが本当なら、それは私の機能を実行しました。それが良いか、よりよい方法がありますか? – mocode9

+0

C++アプリケーションのソケットでリッスンを開始できれば、ネットワーク経由でメッセージを受信できます。私はあなたが常にそこにいないかもしれないイベントのためにサーバー側をポーリングするので、良い解決策になるとは思わない。あなたは、C + +やPHPでモックアップシンプルなアプリケーションを行うことができます。 C++は特定のポートでメッセージの受信を開始し、PHPはそのようなメッセージを送信します。 –

関連する問題