これで、udp 呼び出しを行い、パケットを送信するアプリケーションができました。ただし、UDP 呼び出しに対しては応答が返されるため、サービスが稼働していること、ポートが開いていること、およびデータが保存されていることをどのように確認できますか?
今考えている唯一のことは、テスト パケットを送信して、それらがデータベースに保存されていることを確認することです。
だから私の全体的な質問は、udp 呼び出しが成功していることを確認するためのより良い、より簡単な方法はありますか?
これで、udp 呼び出しを行い、パケットを送信するアプリケーションができました。ただし、UDP 呼び出しに対しては応答が返されるため、サービスが稼働していること、ポートが開いていること、およびデータが保存されていることをどのように確認できますか?
今考えている唯一のことは、テスト パケットを送信して、それらがデータベースに保存されていることを確認することです。
だから私の全体的な質問は、udp 呼び出しが成功していることを確認するためのより良い、より簡単な方法はありますか?
リスニングホストでは、 netstatを使用してポートが開いていることを検証できます。たとえば、アプリケーションがUDPポート68を使用している場合、次のコマンドを実行できます。
# Grep for :<port> from netstat output.
$ netstat -lnu | grep :68
udp 0 0 0.0.0.0:68 0.0.0.0:*
また、いくつかのテストデータをアプリケーションに送信してから、データベースをチェックして、フィクスチャデータがデータベースに組み込まれたことを確認することもできます。これは、常に機能するという意味ではなく、テスト時に機能しているということです。
最終的に、問題はUDPパケットが最善の努力であり、保証されないことです。したがって、データの受信および/または書き込み後に何らかの確認応答を送信するようにロギングプラットフォームを構成できない限り、何も保証できません。UDPの本質は、アプリケーション層に確認応答(存在する場合)を残すことです。
私たちは別のアプローチを取り、呼び出しがデータベースに到達したことを確認しています。テーブルをクエリして、レコードがそこにあることを確認するのは簡単です。最近のものがない場合は、何かがおかしいことがわかります。CodeGnome には良いアイデアがありましたが、私たちが行ったルートではありませんでした。ありがとう!