>  기사  >  웹 프론트엔드  >  각도에서 웹소켓을 사용하는 방법 소개

각도에서 웹소켓을 사용하는 방법 소개

不言
不言원래의
2018-07-27 13:36:353131검색

이 글은 각도에서 웹소켓을 사용하는 방법을 소개합니다. 참고할만한 가치가 있고 도움이 필요한 친구들에게 도움이 되길 바랍니다.

웹소켓을 처음 접하시는 분들에게는 정말 어렵습니다. 그리고 그 과정에는 많은 함정이 있습니다.

인터넷에 websocket에 대한 많은 기사와 플러그인이 있습니다. 많은 검색 결과, 여전히 이 플러그인이 좋다고 생각합니다.Angularjs를 사용하여 개발하는 친구들에게는 이

angular websocket.js

를 적극 권장합니다.

이것은 비교적 완전한 개발 문서를 가지고 있으며 사용 지침은 소켓이 예기치 않게 중단될 때 자동 연결 복구와 같은 기능을 실현할 수 있습니다.

다음은 내 프로젝트에 사용된 웹소켓입니다.

먼저 프로젝트에 websocket.js 파일을 도입하고 앱에 모듈 참조를 추가하세요

angular.module('app', ["ngWebSocket"])

요청 주소 사용 자동 적응이 주로 전환 후 개발 환경과 서버를 변경하는 문제를 해결하거나 도메인 이름을 변경한 후에 적용됩니다

angular.module('app').factory('socketData', function ($websocket, $location) {
    var host = $location.host();
    if ($location.port() && $location.port() != 80 && $location.port() != 443) {
        host = host + ':' + $location.port();
    }
    var ws = "ws";
    if ($location.protocol() == 'https') {
        ws = "wss";
    }
    // 开始连接
    var dataStream = $websocket(ws + '://' + host + '/Api/App');
    dataStream.reconnectIfNotNormalClose = true;
    var collection = [];
    var methods = {
        lastestdata: {},
        readyState: 0,
        collection: collection,
        sendData: function (data) {
            dataStream.send(JSON.stringify(data));
        }
    };
    dataStream.onMessage(function (message) {
        methods.readyState = dataStream.readyState;
        methods.lastestdata = JSON.parse(message.data);
        collection.push(JSON.parse(message.data));
//这里可以直接跳转到制定的页面,我这里是跳转到了我的地图页面
        //window.location = '/#/app/Map/Index'
    });
dataStream.onError(function (message) {
//监控状态变化,实时跟进连接状态
        methods.readyState = dataStream.readyState;
    });
dataStream.onOpen(function (message) {
        methods.readyState = dataStream.readyState;
    });
dataStream.onClose(function (message) {
        methods.readyState = dataStream.readyState;
    });
return methods;
})
使用的时候也很简单,直接在controller中加入这个
app.controller('mapctrl', function ($scope, $timeout, $interval, $state, $location, $window, $http, $compile, socketData) {
$scope.socketData = socketData;
//可以监控这个变量的变化实时处理对应的操作
})

웹소켓을 사용하고 나면 클라이언트는 거의 이렇습니다

다음으로, .net 환경에서 이전 코드를 공유하겠습니다. 서버 측에서 websocket을 사용하세요.

배경 메시지 변경에 따라 발생하는 메시지 배포 센터와 소켓 방송 이벤트로 구분됩니다.

관련 추천:

JavaScript 학습에서 자주 접하는 js 이벤트 핸들러

webpack4를 기반으로 반응 스캐폴딩을 구축하는 방법에 대한 프로세스 분석

위 내용은 각도에서 웹소켓을 사용하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.