C++ Builder XE4
UDP通信でのパケットロスの対処に関して、実際にパケットロスを生じさせる必要がある。
方法1
途中にパケットロスを発生させるソフトを置く方法。
![](http://yuml.me/diagram/class/[Client]<-->Port A[パケットロス by ソフト],[パケットロス by ソフト]<-->Port B[Server])
![](http://yuml.me/diagram/class/[Client]<-->Port A[パケットロス by ソフト],[パケットロス by ソフト]<-->Port B[Server])
- 利点
- Client, Serverソフトともに変更しなくて良い
- 様々なソフトの組合せに使える
- 欠点
- Clientの接続先(IPアドレスもしくはポート番号)変更が必要
方法2
Clientにパケットロスを起こさせるクラスを実装して使う。
![](http://yuml.me/diagram/class/[Client|パケットロス機能]<-->Port A[Server])
![](http://yuml.me/diagram/class/[Client|パケットロス機能]<-->Port A[Server])
- 利点
- 接続先(IPアドレスもしくはポート番号)を変更しなくて良い
- Serverソフトは変更しなくて良い
- 欠点
- Clientソフトを変更する必要あり
追加で学んだこと
@tenmyo さんのコメントにてパケットロスを発生させる様々な提案をいただきました。
情報感謝です。
さらに色々教えていただきました。
@mistymagich さんのコメントにてRaspberry Piでの遅延・パケットロス発生用エミュレータを紹介いただきました。