×ðÁú¿­Ê±¹ÙÍøµÇ¼

̽ÌÖSwooleÖÐЭ³ÌµÄÔËÐлúÖÆ

swooleÊÇÒ»¸ö»ùÓÚphpµÄЭ³Ì¿ò¼Ü£¬ËüµÄÒì²½ioÐÔÄܺÜÊǾ«²Ê¡£swooleµÄ½¹µãÊÇЭ³Ì£¬Ð­³ÌÊÇÒ»ÖÖ±ÈÏ̸߳üÇáÁ¿¼¶µÄ²¢·¢»úÖÆ£¬¿ÉÒÔÔÚͳһÏß³ÌÖÐÇл»Ê¹ÃüÀ´ÊµÏÖ²¢·¢Ö´ÐС£±¾ÎĽ«»á̽ÌÖswooleÖÐЭ³ÌµÄÔËÐлúÖÆ¡£

Ò»¡¢Ð­³ÌµÄ¿´·¨

Э³Ì£¬ÓÖ³Æ΢Ị̈߳¬ÊÇÒ»ÖÖ±ÈÏ̸߳üϸÁ£¶ÈµÄ²¢·¢»úÖÆ¡£Ð­³ÌÓëÏ̵߳ÄÇø±ðÔÚÓÚ£¬Ð­³Ìͨ¹ýʱ¼äƬÂÖתÀ´ÊµÏÖʹÃüÇл»£¬¶øÏß³ÌÓɲÙ×÷ϵͳµ÷ÀíÆ÷ÈÏÕæÇл»¡£Òò´Ë£¬Ð­³ÌÔÚÐÔÄÜÉϱÈÏß³ÌÔ½·¢¾«²Ê¡£

ÔÚSwooleÖУ¬Ð­³ÌÊÇÒ»ÖÖÇáÁ¿¼¶µÄPHPÏ̡߳£Ð­³Ì¿ÉÒÔÔÚͳһÏß³ÌÖÐÇл»Ö´Ðвî±ðµÄʹÃü£¬ÊµÏÖ²¢·¢Ö´ÐС£Ïà±ÈÓڹŰåµÄÏ̳߳Øģʽ£¬Ð­³Ì¿ÉÒÔ×èÖ¹Ïß³ÌÉÏÏÂÎÄÇл»µÄ¿ªÏú£¬Í¬Ê±Ð­³Ì¾ßÓиüµÍµÄÄÚ´æÕ¼Óú͸ü¸ßµÄÖ´ÐÐЧÂÊ¡£

¶þ¡¢SwooleµÄЭ³ÌʵÏÖ

Swooleͨ¹ýЭ³Ìµ÷ÀíÆ÷À´ÊµÏÖЭ³ÌµÄµ÷ÀíºÍÇл»£¬Ð­³Ìµ÷ÀíÆ÷ÊÇSwooleÌṩµÄÒ»ÖÖЭ³Ìµ÷ÀíÒýÇ棬Ëü¿ÉÒÔ»ùÓÚʱ¼äƬÂÖתµÄ·½·¨ÀÍÆÈ´»Ð­³ÌÖ´ÐÐʹÃü¡£

Э³Ìµ÷ÀíÆ÷µÄʵÏÖÔ­ÀíÈçÏ£º

1.Ê×ÏÈ£¬µ÷ÀíÆ÷»áΪÿ¸öЭ³Ì·ÖÅÉÒ»¸ö״̬£¬Àý×¼ÆÚ´ý¡¢Ö´ÐС¢ÐÝÃߵȡ£

2.µ÷ÀíÆ÷»áͨ¹ýÒ»¸öʹÃüÐÐÁÐÀ´ÖÎÀíËùÓÐЭ³ÌµÄ״̬¡£µ±Ä¿½ñЭ³ÌÖ´ÐÐÍê³Éºó£¬µ÷ÀíÆ÷»áÓÅÏÈÑ¡Ôñ״̬ΪÆÚ´ýµÄЭ³ÌÀ´Ö´ÐС£

3.Э³Ì»áÔÚÖ´ÐÐÀú³ÌÖÐ×Ô¶¯ÅжÏÄ¿½ñʹÃüÊÇ·ñÍê³É¡£ÈôÊÇÄ¿½ñʹÃüδÍê³É£¬Ð­³Ì»á½«Æä¹ÒÆð£¬È»ºóÇл»µ½ÆäËûЭ³ÌÖ´ÐУ¬Ö±µ½ÏÂÒ»´Îµ÷ÀíʱÔÙ¼ÌÐøÖ´ÐйÒÆðʹÃü¡£

4.ÔÚЭ³ÌÖ´ÐÐʱ´ú£¬ÈôÊÇ·ºÆðIOÛÕ±Õ²Ù×÷£¨ÀýÈçÍøÂçIO¡¢ÎļþIO¡¢Êý¾Ý¿âÅÌÎʵȣ©£¬Ð­³Ì»á×Ô¶¯¹ÒÆ𣬲¢½«Ä¿½ñʹÃü״̬ÉèÖÃΪÐÝÃß¡£µ±IOÛÕ±ÕÍê³Éºó£¬Ð­³Ì»á×Ô¶¯½ÐÐÑ£¬²¢½«Ê¹Ãü״̬ÉèÖÃΪִÐС£

5.ÔÚЭ³ÌÖ´ÐÐÍê³Éºó£¬µ÷ÀíÆ÷»á½ÓÄÉ×ÊÔ´£¬²¢½«Ð­³Ì״̬ÉèÖÃΪ¿¢Ê¡£

Èý¡¢SwooleµÄЭ³ÌÓÅÊÆ

SwooleµÄЭ³Ì¾ßÓÐÒÔÏÂÓŵ㣺

1.¸ßЧ£ºÐ­³ÌÄܹ»ÔÚͳһÏß³ÌÖÐÇл»Ê¹ÃüÖ´ÐУ¬×èÖ¹ÁËÏß³ÌÉÏÏÂÎÄÇл»µÄ¿ªÏú£¬Í¬Ê±¼ÓËÙÁË´úÂëÖ´ÐÐËÙÂÊ¡£

2.ÇáÁ¿¼¶£ºÐ­³ÌÕ¼ÓõÄÄÚ´æ×ÊÔ´ºÜÊÇÉÙ£¬¿ÉÒÔͬʱ֧³Ö´ó×Ú²¢·¢ÅþÁ¬¡£

3.Ò×ÓÚµ÷ÊÔ£ºÐ­³ÌÄܹ»Ìṩ¸üϸÁ£¶ÈµÄµ÷ÊÔÐÅÏ¢£¬Àû±ã¿ª·¢Õß¾ÙÐе÷ÊÔ¡£

4.Ò×ÓÚά»¤£ºÐ­³ÌµÄ´úÂë±È¹Å°åµÄ¶àÏ̴߳úÂë¸ü¼òÆÓ£¬Ò×ÓÚά»¤¡£

ËÄ¡¢SwooleЭ³ÌµÄʹÓð취

1.ÒýÈëSwooleµÄЭ³Ì¿â

SwooleµÄЭ³Ì¿â¿ÉÒÔͨ¹ýComposerÖ±½ÓÒýÈ룬ÏÂÁîÈçÏ£º

composer require swoole/Coroutine

2.±àдЭ³Ì´úÂë

ÔÚSwooleµÄЭ³ÌÖУ¬¿ÉÒÔʹÓÃÒªº¦×ÖyieldÀ´ÊµÏÖЭ³ÌÇл»¡£ÒÔÏÂÊÇÒ»¸ö¼òÆÓµÄʾÀý£º

function test()

{

echo "coroutine starts", PHP_EOL;

$result = yield select(null, null, null, 0.5);

echo "coroutine ends, selected: ", $result, PHP_EOL;

µÇ¼ºó¸´ÖÆ

}

// Æô¶¯Ð­³Ì

go(function () {

test();

µÇ¼ºó¸´ÖÆ

});

3.ÔËÐÐSwooleЭ³ÌЧÀÍ

ʹÓÃSwooleÌṩµÄServerÀàÀ´½¨ÉèÒ»¸öЭ³ÌЧÀÍ£º

Coun(function () {

$server = new Server('0.0.0.0', 9501, SWOOLE_BASE);
$server->on('Connect', function ($server, $fd) {
    echo "Client $fd connected

µÇ¼ºó¸´ÖÆ

“;

});
$server->on('Receive', function ($server, $fd, $from_id, $data) {
    echo "Client $fd: $data

µÇ¼ºó¸´ÖÆ

“;

    $server->send($fd, "Server received 

µÇ¼ºó¸´ÖÆ

“);

});
$server->on('Close', function ($server, $fd) {
    echo "Client $fd closed

µÇ¼ºó¸´ÖÆ

“;

});
$server->start();

µÇ¼ºó¸´ÖÆ

});

ÔÚSwooleµÄЭ³ÌЧÀÍÖУ¬¿ÉÒÔʹÓÃgoÒªº¦×ÖÀ´½¨ÉèЭ³Ì£¬ÀýÈ磺

go(function () {

// Э³ÌÖ´ÐеÄʹÃü

µÇ¼ºó¸´ÖÆ

});

Îå¡¢×ܽá

SwooleµÄЭ³ÌʵÏÖÊÇÒ»ÖÖºÜÊǸßЧºÍÇáÁ¿¼¶µÄ²¢·¢»úÖÆ£¬Äܹ»ÓÐÓýâ¾öPHPÔڸ߲¢·¢³¡¾°ÏµÄÐÔÄÜÎÊÌ⡣ͨ¹ý±¾ÎÄÎÒÃÇÏàʶÁËSwooleÖÐЭ³ÌµÄÔËÐлúÖƺÍʹÓÃÒªÁ죬ÐÅÍжÁÕ߶ÔSwooleµÄЭ³ÌÒ²ÓÐÁ˸üÉîÈëµÄÊìϤ¡£

ÒÔÉϾÍÊÇ̽ÌÖSwooleÖÐЭ³ÌµÄÔËÐлúÖƵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ