怎么在PHP中使用swoole编写一个echo服务器
作者
怎么在PHP中使用swoole编写一个echo服务器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
server.php代码如下:
serv=newswoole_server('0.0.0.0',8888); //配置参数 $this->serv->set(array( 'worker_num'=>4, 'daemonize'=>0, )); //注册回调函数 $this->serv->on('start',array($this,'start')); $this->serv->on('connect',array($this,'connect')); $this->serv->on('receive',array($this,'receive')); $this->serv->on('close',array($this,'close')); //启动服务 $this->serv->start(); } publicfunctionstart($serv){ echo"start\n"; } //有客户端连接时 publicfunctionconnect($serv,$fd){ echo"connect\n"; $serv->send($fd,"hello\n"); } publicfunctionclose($serv,$fd){ echo"close\n"; } publicfunctionreceive($serv,$fd,$from_id,$data){ echo"getmessage{$fd}:{$data}\n"; //向客户端发送信息 $serv->send($fd,$data."\n"); } } $serv=newEchoServer();
client.php代码如下:
client=newswoole_client(SWOOLE_SOCK_TCP,SWOOLE_SOCK_ASYNC); $this->client->on('connect',array($this,'connect')); $this->client->on('receive',array($this,'receive')); $this->client->on('close',array($this,'close')); $this->client->on('error',array($this,'error')); //连接服务端 $this->client->connect('0.0.0.0',8888); } publicfunctionconnect($client){ echo"connect\n"; } publicfunctionreceive($client,$data){ echo"serversend:{$data}"; //向标准输出写入数据 fwrite(STDOUT,"请输入消息:"); //获取标准输入数据 $msg=trim(fgets(STDIN)); //向服务端发送数据 $client->send($msg); } publicfunctionclose($client){ echo"close\n"; } publicfunctionerror($client){ echo"error\n"; } } $cli=newEchoClient();
然后分别运行这两个脚本
>/data/php56/bin/phpserver.php >/data/php56/bin/phpclient.php
运行结果如下:
看完上述内容,你们掌握怎么在PHP中使用swoole编写一个echo服务器的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
目录
推荐阅读
-
Linux中如何安装和使用 PHP 开发环境
-
php字符串增加1如何实现
php字符串增加1如何实现这篇“php字符串增加1如何实现”文章的...
-
php如何判断字符串是否有中文
php如何判断字符串是否有中文本文小编为大家详细介绍“php如何判...
-
php如何实现字符串去掉头尾
php如何实现字符串去掉头尾这篇“php如何实现字符串去掉头尾”文...
-
php字符串的组成是什么
php字符串的组成是什么这篇文章主要讲解了“php字符串的组成是什...
-
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
-
php字符串长度不一致如何解决
php字符串长度不一致如何解决本篇内容主要讲解“php字符串长度不...
-
php时区不正确如何解决
php时区不正确如何解决本文小编为大家详细介绍“php时区不正确如...
-
php+fread()乱码如何解决
php+fread()乱码如何解决本篇内容介绍了“php+frea...
-
php explode报错如何解决
phpexplode报错如何解决这篇文章主要介绍“phpexp...