基本lunix 命令
测试
* telent 127.0.0.1 9501
* 安装 telent
yum list telnet*
yum install telnet-server
yum install telnet.*
测试端口
* netstat -anp | grep 9501
关闭当前进程
* kill 28763
tcp
$serv = new Swoole\Server("127.0.0.1", 9501);
//设置服务器参数
$serv->set(array(
'worker_num' => 2, //工作进程数量 cup的1-4倍
'max_request' => 1000 //每个worker进程允许处理的最大任务数。
// 'daemonize' => true, //是否作为守护进程
));
//设置事件回调函数
$serv->on('connect', function ($serv, $fd) {
echo "Client:Connect.\n";
});
//监听数据接收事件
/**
* $serv Swoole 对象
* $fd 客户端链接标示
* $reactor_id 线程ID
* $data 接收的数据
*/
$serv->on('receive', function ($serv, $fd, $reactor_id, $data) {
// $serv->send($fd, 'Swoole: ' . $data);
$serv->send($fd,"客户端链接标示:[".$fd."],线程ID:[".$reactor_id."],接收的数据:[".$data."]");
// $serv->close($fd);
});
//监听关闭事件
$serv->on('close', function ($serv, $fd) {
echo "Client: Close.\n";
});
//启动服务器
$serv->start();
//php /www/wwwroot/Swoole/demo/server/tcp.php
tcp客户端
<?php
/**
* Created by PhpStorm.
* User: 白衬衫
* Date: 2019/7/4
* Time: 14:29
* Info: 说明
*/
//
$client = new Swoole_client(SWOOLE_SOCK_TCP);
if(!$client->connect('127.0.0.1', 9501)){
echo '连接失败';
exit();
}
//PHP cli常量
fwrite(STDOUT,'请输入消息');
$msg = trim(fgets(STDOUT));
//发送消息
$client->send($msg);
//接收来自server的消息
$result = $client->recv();
echo $result;
/**
运行
* php /www/wwwroot/Swoole/demo/client/tcp_client.php
**/
udp服务端
<?php
/**
* Created by PhpStorm.
* User: 白衬衫
* Date: 2019/7/4
* Time: 12:39
* Info: 说明
*/
$serv = new Swoole\Server("127.0.0.1", 9502,SWOOLE_PROCESS,SWOOLE_SOCK_UDP);
//设置服务器参数
$serv->set(array(
'worker_num' => 2, //工作进程数量 cup的1-4倍
'max_request' => 1000 //每个worker进程允许处理的最大任务数。
// 'daemonize' => true, //是否作为守护进程
));
//不需要 connect
//监听数据接收事件
/**
* $serv Swoole 对象
* $fd 客户端链接标示
* $reactor_id 线程ID
* $data 接收的数据
*/
$serv->on('Packet', function ($serv, $data , $clientInfo) {
$serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data);
var_dump($clientInfo);
});
//监听关闭事件
$serv->on('close', function ($serv, $fd) {
echo "Client: Close.\n";
});
//启动服务器
$serv->start();
/**
运行
* php /www/wwwroot/Swoole/demo/server/udp.php
测试
**/
udp客户端
<?php
/**
* Created by PhpStorm.
* User: 白衬衫
* Date: 2019/7/4
* Time: 14:29
* Info: 说明
*/
//
$client = new Swoole_client(SWOOLE_SOCK_UDP);
if(!$client->connect('127.0.0.1', 9502)){
echo '连接失败';
exit();
}
//PHP cli常量
fwrite(STDOUT,'请输入消息');
$msg = trim(fgets(STDOUT));
//发送消息
$client->send($msg);
//接收来自server的消息
$result = $client->recv();
echo $result;
/**
运行
* php /www/wwwroot/Swoole/demo/client/udp_client.php
**/
svrver服务端
<?php
/**
* Created by PhpStorm.
* User: 白衬衫
* Date: 2019/7/4
* Time: 17:23
* Info: 说明
*/
$http = new swoole_http_server("0.0.0.0", 9503);
$http->set(
[
'enable_static_handler'=>true,
'document_root'=>'/www/wwwroot/Swoole/demo/data'
]
);
$http->on('request', function ($request, $response) {
var_dump($request->get, $request->post);
var_dump($request);
$response->header("Content-Type", "text/html; charset=utf-8");
$response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>");
});
$http->start();
/**
运行
* php /www/wwwroot/Swoole/demo/server/http_server.php
浏览器访问 IP:9503
**/
原文:http://www.w55.site/blog/article/look/id/31.html
版权声明:本文为博主原创文章,转载请附上博文链接!