美文网首页
Swoole入门

Swoole入门

作者: 诺之林 | 来源:发表于2018-04-10 22:26 被阅读9次

本文的示例代码参考swoole/TCPBasic

目录

环境

pecl install swoole
php -m | grep swoole # 没有任何信息
echo 'extension=swoole.so' >> $(php  -i | grep 'Loaded Configuration File' | awk -F '=>' '{print $2}')
php -m | grep swoole # swoole

TCPServer

vim TCPServer.php
<?php

$server = new swoole_server("127.0.0.1", 9500);
$server->on('connect', function ($server, $fd){
    echo "connection open: {$fd}\n";
});
$server->on('receive', function ($server, $fd, $reactor_id, $data) {
    $server->send($fd, "Swoole: {$data}");
    $server->close($fd);
});
$server->on('close', function ($server, $fd) {
    echo "connection close: {$fd}\n";
});
$server->start();

TCPClient

vim TCPClient.php
<?php

$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
$client->on("connect", function($cli) {
    $cli->send("hello world\n");
});
$client->on("receive", function($cli, $data){
    echo "received: {$data}\n";
});
$client->on("error", function($cli){
    echo "connect failed\n";
});
$client->on("close", function($cli){
    echo "connection close\n";
});
$client->connect("127.0.0.1", 9500, 0.5);

测试

php TCPServer.php

php TCPClient.php
  • Server
connection open: 1
connection close: 1
  • Client
received: Swoole: hello world

connection close

参考

相关文章

网友评论

      本文标题:Swoole入门

      本文链接:https://www.haomeiwen.com/subject/jhlohftx.html