tp3怎么集成gatewayworker 求问大神们,php后台怎么调用gatewayworker向硬...

作者&投稿:相砌 (若有异议请与网页底部的电邮联系)
第一步:下载tp3.2.3、GatewayWorker、GatewayClient;解压后把tp和Gatewayworker放在同一个目录下面(根目录下面);
第二步:将GatewayClient中的Gateway.php重命名为Gateway.class.php;修改其内容如下:1.namespace Org\Util;2.第35行的$registerAddress的端口号修改和GatewayWorker/Application/YourApp/下的三个start_文件里面的“服务注册地址”下端口号一致;保存后将该文件放于tp框架的ThinkPHP/Library/Org/Util文件夹下;
第三步:将GatewayWorker中start_gateway.php的第24行Gateway括号内容修改为(“websocket://后面的不变”);Events.php的第40行修改为Gateway::sendToClient($client_id,json_encode(array('client_id'=>$client_id)));可注释第42行代码;
第四步:运行tp入口文件后,控制器Index.class.php文件内容如下:
<?php

namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller {

public function index() {
$this->uid = I('uid');

session('uid', $this->uid);
$this->display();
}

function bind() {
$uid = session('uid');
$client_id = I('client_id');

$gateway = new \Org\Util\Gateway();
$gateway->bindUid($client_id, $uid);
$message = '绑定成功' . $uid . '-' . $client_id;
$gateway->sendToUid($uid, $message);
}

function message() {
$to_uid = I('uid');
$message = I('msg');
$gateway = new \Org\Util\Gateway();
$data['msg'] = $message;
$data['from_uid'] = session('uid');
$data['to_uid'] = $to_uid;
$gateway->sendToUid($to_uid, json_encode($data)); //发给对方
$gateway->sendToUid($data['from_uid'], json_encode($data)); //发给自己
echo json_encode($data);
}

}

视图文件index.html文件内容为:(其他文件自己建)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>chatroom</title>
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"/></script>

<script type="text/javascript">
// 打开一个 web socket
var ws = new WebSocket("ws://127.0.0.8:8282");

ws.onopen = function ()
{

};

ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("数据已接收..." + received_msg);
var jmsg = JSON.parse(received_msg);
if (jmsg.from_uid > 0) {
var t_msg = '<li>' + jmsg.from_uid + ' 说:' + jmsg.msg + '</li>';

$("#message").append(t_msg);
}
if (jmsg.client_id.length != 0) {
$.post("{:U('bind')}", {client_id: jmsg.client_id}, function (data) {

});
}
}
</script>
</head>
<body>
<ul id="message">

</ul>

<div>
<input name="uid" value="1" >
<input name="msg" value="" size="50">
<button type="button" id="send" >发送</button>
</div>

<script>
$(function () {
$("#send").click(function () {
var uid = $('input[name="uid"]').val();
var msg = $('input[name="msg"]').val();
$.post("{:U('message')}", {uid: uid, msg: msg}, function (data) {
$('input[name="msg"]').val('');
});

});
});
</script>
</body>
</html>

第五步:打开GatewayWorker文件下的.bat文件,去浏览器中访问你设置的虚拟路由地址即可。

作者: 子期不遇
链接:http://www.imooc.com/article/17962?block_id=tuijian_wz
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

tp3怎么利用 getewayworker开发单聊~

第一步:下载tp3.2.3、GatewayWorker、GatewayClient;解压后把tp和Gatewayworker放在同一个目录下面(根目录下面);
第二步:将GatewayClient中的Gateway.php重命名为Gateway.class.php;修改其内容如下:1.namespace Org\Util;2.第35行的$registerAddress的端口号修改和GatewayWorker/Application/YourApp/下的三个start_文件里面的“服务注册地址”下端口号一致;保存后将该文件放于tp框架的ThinkPHP/Library/Org/Util文件夹下;
第三步:将GatewayWorker中start_gateway.php的第24行Gateway括号内容修改为(“websocket://后面的不变”);Events.php的第40行修改为Gateway::sendToClient($client_id,json_encode(array('client_id'=>$client_id)));可注释第42行代码;
第四步:运行tp入口文件后,控制器Index.class.php文件内容

您好,你看看后盾人里的视频能不能帮到你,他那里的视频都是一线讲师录制的,希望可以帮到你。

亿田集成烹饪中心P3ZK系列怎么样?
答:᳚亿田集成烹饪中心P3ZK系列会给你带来更多惊喜!它内置普通蒸、高温蒸、锁鲜炖、均温烤、嫩烤、烧烤、空气炸、发酵模式等8重大师级烹饪厨艺,在厨房解锁花式美味不在话下。当代人注重健康,这台厨电也做到了:它采用特制麦饭石内胆,不仅可使食材更添本味鲜美,而且有助于获取身体日常所需营养...