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相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《phpsocket用法总结》、《php面向对象程序设计入门教程》、《PHP数据结构与算法教程》及《php程序设计算法总结》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。