我一直在四处搜寻,并寻找有关以ratchet和angular js和php为服务器的实现的示例。但是没有运气,我在棱角方面还不那么先进,但是我有棘轮的经验。如果有办法做到这一点,应在我的角度应用程序中放置以下代码?

var conn = new WebSocket('ws://localhost:8080');
conn.onopen = function(e) {
   console.log("Connection established!");
};

conn.onmessage = function(e) {
   console.log(e.data);
};

最佳答案

安东尼

您需要将连接部件放入服务中,以便仅创建一次。像这样:

app.factory("Ratchet", function () {

    return new WebSocket('ws://localhost:8080');

});


然后在您的控制器中您可以执行以下操作(未经测试,但您应该了解基本思想):

app.controller("MyController", function ($scope, Ratchet) {

    Ratchet.onopen = function(e) {
        console.log("Connection established!");
    };

    Ratchet.onmessage = function(e) {
        console.log(e.data);

        $scope.message = e.data;
        $scope.$apply();
    };

});


这将允许您在注入了“ Ratchet”的任何控制器中接收消息。

08-17 12:47