【问题标题】:What am I doing wrong when setting up socket.io in angular以角度设置socket.io时我做错了什么
【发布时间】:2016-10-30 23:29:34
【问题描述】:

所以我正在尝试将 socket.io 与我的控制器一起使用,但由于某种原因我无法设置它,我尝试了许多不同的方法,但似乎找不到那个最佳位置。这是我的设置:

       var main = angular.module("main", []);

  main.factory('socket', function ($rootScope) {
         var socket = io.connect();
           return {
    on: function (eventName, callback) {
        socket.on(eventName, function () {
            var args = arguments;
            $rootScope.$apply(function () {
                callback.apply(socket, args);
            });
        });
    },
    emit: function (eventName, data, callback) {
        socket.emit(eventName, data, function () {
            var args = arguments;
            $rootScope.$apply(function () {
                if (callback) {
                    callback.apply(socket, args);
                }
            });
        })
    }
};
});

    main.controller('Triv', ['$scope', 'socket','$http','$interval',
   '$timeout', function ($scope, $http,$interval,socket, $timeout) {

   ......   })]);

【问题讨论】:

  • 请提供正确的问题陈述。 “找不到甜蜜点” 几乎没有告诉我们。花几分钟阅读How to Ask
  • 大声笑,对不起,我希望我能。我不知道如何设置它。除了这个,我没有其他东西可以展示,因为它无法通过我的 Angular 应用程序运行或启动
  • 它可以通过我的 html 中的 javascript 完美地连接到我的服务器。只是不在我的角度控制器中
  • 你是否包含了 socket.io.js ? :)
  • 什么不起作用?您没有提及任何错误或任何故障排除信息。如果您不提供详细信息,我们将无法播放 20 个问题

标签: angularjs sockets socket.io


【解决方案1】:

我在安装 socket.io 的 gulp managed bower 时遇到了类似的问题。 我所做的是在我的脚本源目录中创建了一个符号链接

socket.io.js -> ../../bower_components/socket.io-client/socket.io.js

强制在脚本列表末尾包含 socket.io.js

【讨论】:

    猜你喜欢
    • 2017-10-31
    • 2018-10-16
    • 2017-02-01
    • 1970-01-01
    • 2014-03-31
    • 2020-05-31
    • 2011-06-01
    • 1970-01-01
    相关资源
    最近更新 更多