PHPの使用は()関数はベースシステム間通信デーモン・プロセス・メッセージ(メッセージ・キュー・モード)は、Linux実装さftok

ここで()関数で、ftok使用される公式文書アドレスをクリックしてください

ftok

(PHP 4> = 4.2.0、PHP 5、PHP 7)

ftok -  System VのIPCキーにパス名とプロジェクト識別子を変換します

説明

ftok(  文字列  $pathname 、  文字列  $proj ):  int型

関数は、変換  pathname 中に、既存のアクセス可能なファイルとプロジェクト識別子を  整数  例えばと共に使用するため  shmop_open()  および他のシステムV IPCキー。

 上記で説明:$エフェクトパス名は、ファイル名(ファイルが読み取り可能であることを確認する必要が)、projの独自の定義識別子$はパス名がアクセス識別子で、整数値をkey_tのに変換され得ることです。

新msg_send.php

<?PHPの
 
$キー = ftok(__ DIR__、 'P' )。

エコー$キーPHP_EOL );

#Queueリソースハンドル
$キュー = msg_get_queue($キー);
 // のvar_dump($キュー)。

#キューステータス情報
$情報 = msg_stat_queue($キュー);
 // でvar_export($情報)。

私は$ = 0 ;

しばらく$ I ++ <10 
{
    msg_send($キュー、1、 'それを食べる?'。$ I);
}

新msg_receive.php同じディレクトリ

<?PHPの
 $キー = ftok(__ DIR__、 'P' )。

$キュー = msg_get_queue($キー)。

エコー( "queue_key:"。$キーPHP_EOL );

I $ = 0 ;
 
//ここでモードをブロックして、状況意志はないが(真)と無限ループに、のフルメモリ
真の { MSG_RECEIVE($キュー、0、$ MSG_TYPE、1024、$メッセージ、0 ); エコー( "I :." $ I 'メッセージ:' .. $メッセージ);

SLEEP(2); //増加が影響便利な表示プレゼンテーションを取ります }

 

 開始

[広州MSG @ルート] 、PHP msg_send.php
1879117732
、それぞれ、質量参加1〜3つのランmsg_receive.phpの開いているウィンドウを増加させる効果を実証するために、二つ、三つ 
[広州@はルートMSG]はPHP msg_receive.phpワン 
queue_key:1879117732 
I:0、インデックス:1つは、メッセージ: 1にそれを食べる?
I:0、インデックス:1つは、メッセージ:?2それを食べる
I、0インデックス:ワンを、メッセージ:5にそれを食べる?
I:0、インデックス:1つは、メッセージは:8それを食べますか?


[広州MSG @ルート] PHP msg_receive.php TWOの 
queue_key:1879117732 :0、インデックス:TWO、メッセージ:?3それを食べる
私は:0、インデックス:TWO、メッセージ:?6それを食べる
私は:0、インデックス:2は、メッセージ:9それを食べますか?


[広州MSG @ルート] PHP msg_receive.php三つの 
queue_key:1879117732 :0、インデックス:三、メッセージ:?4それを食べる
私は:0、インデックス:三、メッセージ:?7それを食べる
私は:0、インデックス:、メッセージ3:10それを食べますか?

あなたは効果同様のRedisのは、スクリプトの出力を読んでキュー見ることができ
ますが、キューmsg_remove_queue($キュー)を破壊しない場合は、最後に#

注:スクリプトの実行中にftok()関数は、値が変更された計算場合は、キュー名が一致しないことが変更前と変更後に読み込まれ、そのようなファイルを実行する前に作成されたとして、実行が削除されたり、ファイルの内容自体を再作成または変更、2 GET ftokそれは異なる場合があります。 

おすすめ

転載: www.cnblogs.com/wscsq789/p/12234953.html