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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。