>>549
send ... バイト列をソケットに書き込む。あて先指定が無いので、bindされたソケットじゃないとエラーになる。
sendto ... バイト列をソケットに書き込む。あて先を指定して送れる。主にDGRAM(UDP)ソケット用。
sendmsg ... 複数のバイト列のデータをまとめて、ソケットに書き込む。あて先も指定できる。
 何かのヘッダ書いて、2段目のヘッダ書いて、ペイロードみたいなとき、sendtoだと、一旦連続する
 メモリ領域にバイト列を作成しないといけないので、mem-to-memのコピーが発生する。sendmsgなら、
 そのコピーを抑制できる。
sendmsgが最強で、sendmsgでできないことは無い。残り2つは、sendmsgのラッパになってる、ことが多い。

recv側は書くのが面倒なので誰かに任せる。sendと似たようなもんだ。