问题描述
我能够以简单的方式实现简单的系统 用户请求带有套接字和通知示例,但是对于我的应用程序,我将支持用套接字替换ajax中的调用。
例如:
$ ('. button').on('click',function () {
// I'm blocking here.
var ws = new WebSocket('ws://127.0.0.1:9056/?user=tester01');
ws.onmessage = function(evt) { alert(evt.data); };
ws.onopen = () => ws.send('get_mail');
});
然后PHP端检索“ action”的值,对函数进行处理并推送结果,即notif。 例子:
connection = \Ratchet\Client\connect('ws://127.0.0.1:9056')->then(function($conn) {
$conn->on('message',function($msg) use ($conn) {
echo "Received: {$msg}\n";
if($msg == 'get_mail'){
$inBox = imap_open("{mail.domain.com:993/imap/ssl/novalidate-cert}INBox","my@mail.con","password");
/* grab emails*/
$emails = imap_search($inBox,'UNSEEN');
//pre(count($emails));
// die();
$out = array(
"user" => "tester01","message" => "Vous avez ".count($emails) ." email(s) non lu(s)",);
$conn->send(json_encode($out));
} else {
$out = array(
"user" => "tester01","message" => "Aucune demande valide !",);
$conn->send(json_encode($out));
}
$conn->close();
});
},function ($e) {
echo "Could not connect: {$e->getMessage()}\n";
});
我不知道我是否足够清楚,但是基本上我尝试执行与jQuery,ajax相同的操作,但是要使用套接字。
我使用CI3,棘轮PHP和jQuery。
我的代码基于=> https://codeload.github.com/Shkarbatov/WebSocketPHPRatchet/
感谢您的反馈意见
非常愉快的一天
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)