[英]AngularJS and Websocket
I am trying to create a simple echo test application wherein I have, connect and disconnect buttons. 我试图创建一个简单的回声测试应用程序,其中有连接,断开连接的按钮。 Whenever I click on connect, I want to create an object of websocket. 每当我单击connect时,我都想创建一个websocket对象。 I am doing that in a service. 我正在做这项服务。 But somehow, after creating an object onopen is not getting fired. 但是以某种方式,在创建对象之后,onopen不会被解雇。 I am new to this. 我是新来的。 Can someone help me? 有人能帮我吗? thanks. 谢谢。 Here's my code 这是我的代码
HTML Code HTML代码
<button class="echo-test-button" id ="connect" ng-click ="connect()">
Connect
</button>
<button class="echo-test-button" id ="disconnect" ng-click ="disconnect()">
Disconnect
</button>
Controller 控制者
var app = angular.module("test");
app.controller('SocketCtrl',["$scope","$window","Socket","$rootScope",
function ($scope, $window, socket, $rootScope) {
$scope.connect = function () {
socket.createConnection();
}
}]);
Socket Service 套接字服务
angular.module("test").factory("Socket",["$http","$q", function ($http, $q) {
var ws = {};
var socket = {
url : "ws://echo.websocket.org/",
};
socket.createConnection = function() {
ws = new WebSocket(socket.url);
};
ws.onopen = function (event) {
console.log("Established");
}
return socket;
}]);
Your onopen handler is not setup propertly. 您的onopen处理程序未正确设置。 Move the onopen handler inside the createConnection method. 将onopen处理程序移动到createConnection方法中。
angular.module("test").factory("Socket",["$http","$q", function ($http, $q) {
var ws = {};
var socket = {
url : "ws://echo.websocket.org/",
};
socket.createConnection = function() {
ws = new WebSocket(socket.url);
ws.onopen = function (event) {
console.log("Established");
}
};
return socket;
}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.