1.安装准备
php-5.3.10 // 或更高版本
gcc-4.4 //或更高版本
make
autoconf
2.安装swoole扩展
wget https://github.com/swoole/swoole-src/archive/swoole-1.8.2-stable.tar.gz
tar -zxvf swoole-1.8.2-stable
cd swoole-src-swoole-1.8.2-stable/
/usr/local/php/bin/phpize
./configure
make && make install
3.配置php支持swoole
编辑php.ini 在其中加入扩展支持
extension=swoole.so
4.swoole 服务端代码 server.php
<?php
/**
* 服务端
*/
$serv = new swoole_server("0.0.0.0", 9501);
$serv->on('connect', function ($serv, $fd){
echo "Client:Connect.\n";
});
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
$serv->send($fd, 'Swoole: '.$data);
});
$serv->on('close', function ($serv, $fd) {
echo "Client: Close.\n";
});
$serv->start();
5.swoole 客户端代码 client.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 "Receive: $data\n";
});
$client->on("error", function($cli){
echo "connect fail\n";
});
$client->on("close", function($cli){
echo "close\n";
});
$client->connect('127.0.0.1', 9501, 0.5);
6.测试代码
在cli命令模式下输入
php ./server.php
重新再开一个窗口
php ./client.php
可以用 telnet检测
如:telnet 127.0.0.1 8088
服务端:
客户端:
如上,表示服务端启动,客户端连接服务端返回消息,一个socket闭环形成