なかなかおもしろい現象ですね.
これは毎回このような現象がおこっていますでしょうか?それとも,時々おこるものでしょうか?
添付のコードでこちらでも試した所,
```
[ INFO] [1471065142.826295674]: I heard: [ 9999:hello world (1552)]
[ INFO] [1471065142.924764475]: Sending 168896 length of data
[ INFO] [1471065143.024173158]: Sending 168896 length of data
[DEBUG] [1471065143.025238098]: Received new message [23:114], while
still working on [22] (block 93 of 114)
[DEBUG] [1471065143.025802505]: Expected block 93, received 98
[DEBUG] [1471065143.025951318]: Expected block 93, received 99
[DEBUG] [1471065143.026087739]: Expected block 93, received 100
[DEBUG] [1471065143.026208823]: Expected block 93, received 101
[DEBUG] [1471065143.026469552]: Expected block 93, received 102
[DEBUG] [1471065143.026658755]: Expected block 93, received 103
[DEBUG] [1471065143.026791758]: Expected block 93, received 104
[DEBUG] [1471065143.026915471]: Expected block 93, received 105
[DEBUG] [1471065143.027032590]: Expected block 93, received 106
[DEBUG] [1471065143.027149029]: Expected block 93, received 107
[DEBUG] [1471065143.027269872]: Expected block 93, received 108
[DEBUG] [1471065143.027385048]: Expected block 93, received 109
[DEBUG] [1471065143.027510865]: Expected block 93, received 110
[DEBUG] [1471065143.027629647]: Expected block 93, received 111
[DEBUG] [1471065143.027754700]: Expected block 93, received 112
[DEBUG] [1471065143.027878186]: Expected block 93, received 113
[ INFO] [1471065143.124085561]: Sending 168896 length of data
[DEBUG] [1471065143.124557414]: Received new message [24:114], while
still working on [23] (block 93 of 114)
[ INFO] [1471065143.124801273]: I heard: [ 9999:hello world (1555)]
[ INFO] [1471065143.224099150]: Sending 168896 length of data
[ INFO] [1471065143.224729317]: I heard: [ 9999:hello world (1556)]
[ INFO] [1471065143.324096278]: Sending 168896 length of data
```
と,93のところで現象が時々見られ,また,その時に受け取るブロック値も100前後のものが多いように思います.
また,Expected block ,,, を表示せずにメッセージを取りこぼす例も見られました.
```
INFO] [1471065150.724761772]: I heard: [ 9999:hello world (1631)]
[ INFO] [1471065150.824121774]: Sending 168896 length of data
[ INFO] [1471065150.924185734]: Sending 168896 length of data
[DEBUG] [1471065150.924513053]: Received new message [102:114], while
still working on [101] (block 93 of 114)
[ INFO] [1471065150.924858838]: I heard: [ 9999:hello world (1633)]
[ INFO] [1471065151.024083593]: Sending 168896 length of data
[ INFO] [1471065151.024728569]: I heard: [ 9999:hello world (1634)]
[ INFO] [1471065151.124852174]: Sending 168896 length of data
[ INFO] [1471065151.224098052]: Sending 168896 length of data
[DEBUG] [1471065151.224641488]: Received new message [105:114], while
still working on [104] (block 93 of 114)
[ INFO] [1471065151.224953142]: I heard: [ 9999:hello world (1636)]
[ INFO] [1471065151.324086516]: Sending 168896 length of data
[ INFO] [1471065151.324813610]: I heard: [ 9999:hello world (1637)]
[ INFO] [1471065151.424086629]: Sending 168896 length of data
[ INFO] [1471065151.424811884]: I heard: [ 9999:hello world (1638)]
[ INFO] [1471065151.524067245]: Sending 168896 length of data
[ INFO] [1471065151.524777459]: I heard: [ 9999:hello world (1639)]
[ INFO] [1471065151.624622572]: Sending 168896 length of data
```
UDPには詳しくないので,詳しい方に補足いただきたいところですが,調べてみると,UDPのバッファサイズは
```
$ cat /proc/sys/net/core/rmem_max
26214400
```
として調べることができ,またこれは,
```
sudo sysctl -w net.core.rmem_max=46214400
```
として変更できるようです.定量的な評価はしていませんが,なんとなくですが,バッファサイズを上げると
少なくとも`Expected block 93, received 113` のようなエラーは出ないような気がします.ただ,
`Received new message [105:114], while still working on [104] (block
93 of 114)` は出ている気がします.
(前者の問題は解決はむつかしそうですが,後者はプログラムを賢くしたら修正できそうですね)
とはいえほとんどの場合は通信ができているので,UDP通信を行うとこういうものか,という気もします.
もし可能でしたら,そちらで試しているコードをgithubのリポジトリ等に上げてシェアさせていただけると
状況を共有できてよいかとおもいました.
なおこちらの確認している環境は以下になります.
```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
$ echo $ROS_DISTRO
indigo
$ uname -a
Linux kokada-t440s 3.19.0-65-generic #73~14.04.1-Ubuntu SMP Wed Jun 29
21:05:22 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ rosversion roscpp
1.11.20
```