用户要求带套筒和棘轮

问题描述

我不知道如何使用PHP套接字和棘轮工具。

我能够以简单的方式实现简单的系统 用户请求带有套接字和通知示例,但是对于我的应用程序,我将支持套接字替换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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...