このようなクールでシンプルな電話プログラムがあります:リモートボリュームコントロール。 1つの簡単なことを行います-コンピューター(PC)のボリュームをオンにできます。 便利:映画をオンにしてハンモックになり、突然必要になったとき-ボリュームを上げます。
突然、ある素晴らしい日に、プログラムは静かに機能しなくなりました。 更新はありませんでした、ネットワーク設定は変更されませんでした...どういうわけか、私はプログラムが突然故障し、独自に動作を停止することに慣れていません。
一般的に、私はあなたにカットの下で調査の進捗状況と何が起こったかを教えます。
一般的に、トピックが不足しているため、Webインターフェイスとvlc専用のクライアントもあり、ボリュームを含めてねじることができますが、2つの欠点があります。他のプレーヤーやyoutubeでは機能せず、2番目は遅い(なぜならTCP)。
主題に戻ると、リモートボリュームコントロールは非常にシンプルなプログラムであり、システムマスターボリュームをねじることができます。 動作するには、簡単なコンソールサーバーを実行する必要があります。すぐに動作し、モニターをオフにする方法を認識しています。 モニターの電源を切る必要はまったくありません。電源を切ると助けになります...まあ、いや、いや、それはポイントではありません。
一般に、突然、プログラムは静かに動作を停止しました。 私は頭を骨折した、何が問題なのか。 最近インストールしたプログラムをいくつか削除しましたが、誰かが彼女のポートか何かを奪ったと思っていました...私は試していないだけです。 最後に向かって、 netcatの助けを借りて、プロトコルの研究を始めました。何が間違っているのかを理解しようと必死の試みです。
したがって、このことはUDP上で機能し、5555番目のポートを占有します。 コマンドを送信するだけで、応答を期待していないようです。 一方で、それはクールです。非常に迅速に機能します。 一方、フィードバックはまったくありません。一般的に、メッセージが到着したかどうかは明確ではありません。
プロトコル自体...「プロトコル」は非常に大声で言われます。電話から音量を変えると、たとえば「0.25」が直接テキストで送られます。 これは、25%のボリュームを意味します。 また、コマンド「モニターをオフにする」には1.00が付属しています。これがプロトコル全体です。
同じnetcatを使用して、クライアントをエミュレートしようとしましたが、サーバー部分が「腐って」いて、何かが間違っていたかもしれません。同じ0.25を書きました。成功しません。サーバーはまったく反応しませんでした。 。
スニファーを入れて、netcatで何かを書いてから強打すると、モニターがブランクになります。
私は思う:「通常のスニッファー、私のシステムを殺した。」 モニターが私のためにリモートボリュームコントロールからサーバーを消滅させ、コマンドでそれをコンソールに書き込んだことがわかりました。
これはすでに面白いと思いました。 最後に送信したように見える-"123"。 再び「123」と書きます-モニターは正しく消えます。 また、「321」、「12」、数字を書いても消え、文字が見つかった場合は反応しません。 また、モニターを「1.00」オフにするための正当なコマンドを記述すると、無音になります。
そして、それは私に気づきました:小数点。 まあ、確かに、私は「1.00」と書いています-モニターは消えます。 「0.25」は、ボリュームの25%を書き込みます。
以前、アルファバンクの仲介クライアントであるにもかかわらず、地域の設定をロシア語に変更することを余儀なくされたプログラムが1つあったことを思い出しました。
私は地域の設定に入り、小数点記号をセミコロンでポイントに変更しましたが、すべてうまくいきました。