Sample sending webpage, see msg_receive for matching service
<?php
$MSGKEY = 519051;
$msg_id = msg_get_queue ($MSGKEY, 0600);
if (!msg_send ($msg_id, 1, 'Hi', true, true, $msg_err))
echo "Msg not sent because $msg_err\n";
?>
msg_send
(PHP 4 >= 4.3.0, PHP 5)
msg_send — メッセージキューにメッセージを送信する
説明
bool msg_send ( resource $queue, int $msgtype, mixed $message [, bool $serialize [, bool $blocking [, int &$errorcode]]] )msg_send() は、queue で指定したメッセージキューに対して msgtype で指定した型 (0 より大きい数値である必要があります) のメッセージ message を送信します。
パラメータ
- queue
- msgtype
- message
- serialize
オプションのパラメータ serialize は、 message を送信する方法を制御します。 serialize のデフォルト値は TRUE で、 この場合 message が送信される前に セッションモジュールと同じ方法でシリアライズされます。 これにより、配列やオブジェクトのような複雑な形式のデータを 他の PHP スクリプトに送信することが可能となります。 また、もし WDDX シリアライザを使用しているなら、あらゆる WDDX 互換クライアントに対して同じことが可能となります。
- blocking
メッセージがキューに収まらないほど大きい場合は、他のプロセスが 現在キューにあるメッセージを読み込んでキューの空き容量が確保されれまで スクリプトの実行を待ち続けます。この関数はブロックモードでコール されます。オプションのパラメータ blocking を FALSE に設定することでブロックモードではなくすることが可能で、 この場合、もしキューの空き容量よりも大きなメッセージを送信すると msg_send() はすぐに FALSE を返します。 また、オプションのパラメータ errorcode を MSG_EAGAIN に設定すると、 このような場合に少し時間をおいてメッセージを再度送信します。
- errorcode
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
処理が正常に完了すると、メッセージキューデータ構造体は以下のように更新されます。 msg_lspid には呼び出し元のプロセス ID が 設定され、msg_qnum が 1 増加し、 msg_stime が現在の時刻に設定されます。
参考
| msg_remove_queue() |
| msg_receive() |
| msg_stat_queue() |
| msg_set_queue() |
msg_send
10-Apr-2003 07:51