msg_send() は、queue
で指定したメッセージキューに対して msgtype
で指定した型 (0 より大きい数値である必要があります) のメッセージ
message
を送信します。
メッセージがキューに収まらないほど大きい場合は、他のプロセスが
現在キューにあるメッセージを読み込んでキューの空き容量が確保されれまで
スクリプトの実行を待ち続けます。この関数はブロックモードでコール
されます。オプションのパラメータ blocking
を FALSE に設定することでブロックモードではなくすることが可能で、
この場合、もしキューの空き容量よりも大きなメッセージを送信すると
msg_send() はすぐに FALSE を返します。
また、オプションのパラメータ errorcode
を MSG_EAGAIN に設定すると、
このような場合に少し時間をおいてメッセージを再度送信します。
オプションのパラメータ serialize
は、
message
を送信する方法を制御します。
serialize
のデフォルト値は TRUE で、
この場合 message
が送信される前に
セッションモジュールと同じ方法でシリアライズされます。
これにより、配列やオブジェクトのような複雑な形式のデータを
他の PHP スクリプトに送信することが可能となります。
また、もし WDDX シリアライザを使用しているなら、あらゆる WDDX
互換クライアントに対して同じことが可能となります。
処理が正常に完了すると、メッセージキューデータ構造体は以下のように更新されます。
msg_lspid
には呼び出し元のプロセス ID が
設定され、msg_qnum
が 1 増加し、
msg_stime
が現在の時刻に設定されます。
msg_remove_queue()、 msg_receive()、 msg_stat_queue() および msg_set_queue() も参照ください。