Swoole异步通信No.2

                                      Swoole异步通信No.2

一、客户端代码

<?php
$client = new swoole_client(SWOOLE_SOCK_TCP);

//连接到服务器
if (!$client->connect('127.0.0.1', 9501, 0.5))
{
    die("connect failed.");
}

$message="这里是客户端发送给服务端的数据";
//向服务器发送数据
$client->send($message);

//从服务器接收数据
$data = $client->recv();

echo $data;
//关闭连接
$client->close();

二、服务端代码

<?php
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new swoole_server("127.0.0.1", 9501); 

$serv->set(array(
    'reactor_num' => 2, //reactor thread num
    'worker_num' => 4,    //worker process num
    'backlog' => 128,   //listen backlog
));


//监听连接进入事件
$serv->on('connect', function ($serv, $fd,$reactor_id) {  
	echo "Client: Connect.\n";

});

//监听数据接收事件
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
	//这里可以接收客户端发过来的数据($data),$fd(客户端标识),
	//写业务逻辑然后给客户端推送消息

    $serv->send($fd, "Server: ".$data);
});

//监听连接关闭事件
$serv->on('close', function ($serv, $fd) {
    echo "Client: Close.\n";
});

//启动服务器
$serv->start(); 

三、操作场景

  • 发送一个请求不需要等待,比如下单,发送邮件。
  • 终端启动服务端代码(php server.php)
  • 客户端放在自己需要异步通信的业务里面,调用即可。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值