php workerman 端口配置,php 怎么后台调用workerman 发邮件

使用gatewayworker,gatewayworker是基于workerman开发的,workerman有的gatewayworker都有,并且支持分布式部署,框架代码在构造方法内调用Gateway::$register设置register服务的注册ip和端口,在逻辑代码里面直接通过Gateway::sendToAll()或者Gateway::sendToClientId等,就可以实现框架与Gateway服务的整合,具体的操作时间可以通过前端传入到http服务,然后通过http调Gateway接口,手册上讲解的很详细

use \GatewayWorker\Lib\Gateway;

class Events

{

// 当有客户端连接时,将client_id返回,让mvc框架判断当前uid并执行绑定

public static function onConnect($client_id)

{

Gateway::sendToClient($client_id, json_encode(array(

'type' => 'init',

'client_id' => $client_id

)));

}

// GatewayWorker建议不做任何业务逻辑,onMessage留空即可

public static function onMessage($client_id, $message)

{

}

}

/**

* 与GatewayWorker建立websocket连接,域名和端口改为你实际的域名端口,

* 其中端口为Gateway端口,即start_gateway.php指定的端口。

* start_gateway.php 中需要指定websocket协议,像这样

* $gateway = new Gateway(websocket://0.0.0.0:7272);

*/

ws = new WebSocket("ws://your_domain.com:7272");

// 服务端主动推送消息时会触发这里的onmessage

ws.onmessage = function(e){

// json数据转换成js对象

var data = eval("("+e.data+")");

var type = data.type || '';

switch(type){

// Events.php中返回的init类型的消息,将client_id发给后台进行uid绑定

case 'init':

// 利用jquery发起ajax请求,将client_id发给后端进行uid绑定

$.post('./bind.php', {client_id: data.client_id}, function(data){}, 'json');

break;

// 当mvc框架调用GatewayClient发消息时直接alert出来

default :

alert(e.data);

}

};

// 此处可以是laravel等PHP框架

//加载GatewayClient。关于GatewayClient参见本页面底部介绍

require_once '/your/path/GatewayClient/Gateway.php';

// GatewayClient 3.0.0版本开始要使用命名空间

use GatewayClient\Gateway;

// 设置GatewayWorker服务的Register服务ip和端口,请根据实际情况改成实际值(ip不能是0.0.0.0)

Gateway::$registerAddress = '127.0.0.1:1236';

// 假设用户已经登录,用户uid和群组id在session中

$uid = $_SESSION['uid'];

$group_id = $_SESSION['group'];

// client_id与uid绑定

Gateway::bindUid($client_id, $uid);

// 加入某个群组(可调用多次加入多个群组)

Gateway::joinGroup($client_id, $group_id);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值