今回の学生クエストは、send&receiveとsend~&receive~の相違です。パッチ。コードなしにメッセージ(やマトリックス)を送るにはsend&receive、オーディオ・シグナルを送るにはsend~&receive~ってのがジョーシキですよね。ところが、間違ってシグナルをsend&receiveしたら、ちゃんと動いちゃったのでビックリしたらしいです(ビックリするだけエライ!)。
さて、結論から言うと、シグナルをsendで送って、receiveで受け取ることができます。問題があるのは、シグナルをフィードバックするようなルーティングで、この場合はsend&receiveではシグナルを送ることができません。シグナルが止まっちゃいます(下図の右側)。send~&receive~ならフィードバックが生じてもシグナルを送ることができますが(下図の左側)、この場合はシグナル・ベクター・サイズ分だけシグナルが遅れます。そうでなければ、無限ループに陥っちゃいますからね。
ちなみに、send&receiveとsend~&receive~とでは、同じ名前を使うことはできませんね。それから、メッセージをsend~&receive~で送ることもできませんよ。
ともあれ、ジョーシキに沿うのが無難なのですが、私はシグナルにsend&receiveを使うことが多いかも。だって、sとrが使えますからね。