Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʹÓÃlinux¹²ÏíÄÚ´æµÄʵÏÖµÄphpÄÚ´æ¶ÓÁÐ

<?php
/**
* ʹÓù²ÏíÄÚ´æµÄPHPÑ­»·ÄÚ´æ¶ÓÁÐʵÏÖ
* Ö§³Ö¶à½ø³Ì, Ö§³Ö¸÷ÖÖÊý¾ÝÀàÐ͵Ĵ洢
* ×¢: Íê³ÉÈë¶Ó»ò³ö¶Ó²Ù×÷,¾¡¿ìʹÓÃunset(), ÒÔÊÍ·ÅÁÙ½çÇø
*
* @author wangbinandi@gmail.com
* @created 2009-12-23
*/
class SHMQueue
{
private $maxQSize = 0; // ¶ÓÁÐ×î´ó³¤¶È

private $front = 0; // ¶ÓÍ·Ö¸Õë
private $rear = 0; // ¶ÓβָÕë

private $blockSize = 256; // ¿éµÄ´óС(byte)
private $memSize = 25600; // ×î´ó¹²ÏíÄÚ´æ(byte)
private $shmId = 0;

private $filePtr = './shmq.ptr';

private $semId = 0;
public function __construct()
{
$shmkey = ftok(__FILE__, 't');

$this->shmId = shmop_open($shmkey, "c", 0644, $this->memSize );
$this->maxQSize = $this->memSize / $this->blockSize;

// Éê請Ò»¸öÐźÅÁ¿
$this->semId = sem_get($shmkey, 1);
sem_acquire($this->semId); // ÉêÇë½øÈëÁÙ½çÇø

$this->init();
}

private function init()
{
if ( file_exists($this->filePtr) ){
$contents = file_get_contents($this->filePtr);
$data = explode( '|', $contents );
if ( isset($data[0]) && isset($data[1])){
$this->front = (int)$data[0];
$this->rear = (int)$data[1];
}
}
}

public function getLength()
{
return (($this->rear - $this->front + $this->memSize) % ($this->memSize) )/$this->blockSize;
}

public function enQueue( $value )
{
if ( $this->ptrInc($this->rear) == $this->front ){ // ¶ÓÂú
return false;
}

$data = $this->encode($value);
shmop_write($this->shmId, $data, $this->rear );
$this->rear = $this->ptrInc($this->rear);
return true;
}

public function deQueue()
{
if ( $this->front == $this->rear ){ // ¶Ó¿Õ
return false;
}
$value = shmop_read($this->shmId, $this->front, $this->blockSize-1);
$this->front = $this->ptrInc($this->front);
return $this->decode($value);
}

private function pt


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

ѧϰlinuxǶÈëʽÓйØÍøÕ¾ºÍblog(²»¶¨ÆÚ¸üУ©

http://www.linuxgraphics.cn/android/index.html
http://blog.chinaunix.net/u2/85805/
http://blog.csdn.net/stevenliyong/category/578556.aspx
http://blog.csdn.net/cuijpus/archive/2008/06/15/2549803.aspx
http://dbus.freedesktop.org/doc/dbus-tutorial.html#glib-client
http://www.ibm.com/developerworks ......

³õѧPHP½Ó¿Ú

¼Ì³ÐÌØÐÔ¼ò»¯Á˶ÔÏó£¬ÀàµÄ´´½¨£¬Ôö¼ÓÁË´úÂëµÄÖØÓÃÐÔ¡£µ«ÊÇPHPÖ®Ö§³Öµ¥¼Ì³Ð¡£Èç¹ûÏëʵÏÖ¶à¼Ì³ÐµÄ»°¾ÍÒªÓõ½PHPµÄ½è¿Ú¡£PHP¿ÉÊÇʵÏÖ¶à¸ö½Ó¿Ú¡£
²»ÒªÓÃpublicÒÔÍâµÄ¹Ø¼ü×ÖÀ´ÐÞÊνӿÚÖеÄÀà³ÉÔ±¡£¶ÔÓÚ·½·¨£¬²»Ð´¹Ø¼ü×ÖÒ²¿ÉÒÔ¡£ÕâÊÇÒ»¸ö½è¿ÚÀà×ÔÉíµÄÌìÐÔ¾ö¶¨µÄ¡£ÄÇôÎÒÏëËûÊÇÎªÊ²Ã´ÄØ£¿
¶ÔÓÚ½Ó¿ÚÀ´Ëµ£¬Ëü²»ÄÜÓÃprotected,ºÍpr ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ