>  기사  >  Java  >  JAVA 웹 실시간 메시지 백그라운드 서버 푸시 기술---GoEasy

JAVA 웹 실시간 메시지 백그라운드 서버 푸시 기술---GoEasy

高洛峰
高洛峰원래의
2016-12-07 15:39:521967검색

실시간 메시지 수신과 푸시가 필요한 프로젝트가 많아지고 있습니다. 타사 푸시 서비스 플랫폼인 GoEasy의 API를 사용하면 쉽게 실시간 푸시를 구현할 수 있습니다.

브라우저 호환성: GoEasy 푸시는 웹소켓과 폴링이라는 두 가지 연결 방법을 지원하므로 IE6 이상의 모든 버전은 물론 Firefox, Chrome, Safari 등 기타 브라우저도 지원됩니다.

다양한 개발 언어 지원: GoEasy Push는 백그라운드 프로그램에서 어떤 언어를 사용하든 Restful API를 통해 백그라운드 실시간 푸시를 달성할 수 있습니다. 예: Java, PHP, C#, Ruby, Python, C, C++, ASP.NET, Node.js...

백엔드 및 프런트엔드 푸시 지원: 백엔드에서는 Restful API가 사용되며 간편합니다. Node.js는 프론트엔드 애플리케이션에 사용됩니다. 매우 간단합니다.

GoEasy 사용 단계를 소개하겠습니다:

1. goeasy 공식 웹사이트에 계정을 등록하고 애플리케이션을 만들어야 합니다. 애플리케이션이 생성되면 시스템이 시작됩니다. 기본적으로 게시 키와 구독 키 두 개를 생성합니다

2. 실시간 구독 및 프런트 접수

를 하려면 goeasy.js만 소개하면 됩니다. 그런 다음 goeasy의 구독 메소드를 호출하여 채널을 구독하세요. 구독 시 게시 키를 사용하든 구독 키를 사용하든 상관없습니다. subscribe 파라미터 onMessage의 콜백 함수를 통해 실시간으로 메시지를 수신할 수 있습니다.

3. 프론트엔드 실시간 푸시

여전히 goeasy.js를 도입해야 합니다(페이지가 이미 도입된 경우 더 이상 가져올 수 없음). 구독한 채널에 메시지를 푸시하는 goeasy의 게시 방법 예, 푸시할 때만 게시 키를 사용할 수 있습니다.

4. 백그라운드에서 실시간 푸시

GoEasy Restful API를 호출하고 post 메소드를 사용하여 http://goeasy.io/goeasy/publish에 액세스하며 필요한 세 가지도 가져와야 합니다. 매개변수:

appkey: 게시 키

channel: 구독한 채널

content: push content

아주 간단합니다.

푸시 원리: GoEasy의 구현 원리는 매우 간단합니다. 즉, 푸시 메시지의 한쪽 끝은 푸시만 담당하고, 수신해야 하는 페이지는 미리 구독해야 합니다. 무엇을 구독할까요? 채널을 구독하세요. 메시지가 특정 채널로 푸시되면 클라이언트는 동일한 채널을 구독하므로 정확한 수신이 보장됩니다. 채널을 통해 이 채널에서 푸시된 메시지를 받을 수 있는 페이지나 사용자를 지정할 수 있습니다.

아래에는 Javascript를 사용하여 웹 페이지에서 구독, 푸시, 수신 및 구독 취소에 대해 작성한 작은 예제를 게시합니다.

<html>
<head>
<title>GoEasy Test</title>
 
<script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>
<script type="text/javascript">
  if(typeof GoEasy !== &#39;undefined&#39;){
    var goEasy = new GoEasy({
      appkey: &#39;ba821151-e043-4dfb-a954-c73744c8d323&#39;,
      userId:"222",
      username:"22",
      onConnected:function(){
        console.log("Connect to GoEasy success.");
      } ,
      onDisconnected:function(){
        console.log("Disconnect to GoEasy server.");
      } ,
      onConnectFailed:function(error){
        console.log("Connect to GoEasy failed, error code: "+ error.code+" Error message: "+ 
        error.content);
      }
    });
  }
       
  subscribe();
  function subscribe(){
       goEasy.subscribe({
        channel: &#39;notification&#39;,
        onMessage: function(message){
          console.log(&#39;Meessage received:&#39;+message.content);
        },
        onSuccess:function(){
 
          console.log("Subscribe the Channel successfully.");
 
        },
 
        onFailed: function(error){
 
          console.log("Subscribe the Channel failed, error code: "+ error.code + " error 
          message: "+ error.content);
 
        }
 
      });
 
  }
       
   function publishMessage(){
     goEasy.publish({
        channel: &#39;notification&#39;,
        message: &#39;You received a new notification&#39;,
        onSuccess:function(){
 
          console.log("Publish message success.");
 
        },
        onFailed: function(error){
 
          console.log("Publish message failed, error code: "+ error.code +" Error message: 
          "+ error.content);
 
        }
      });
    
   }
          
   function unsubscribe(){
        goEasy.unsubscribe({
          channel:"notification",
          onSuccess: function(){
 
            console.log("Cancel Subscription successfully.");
 
          },
          onFailed: function(error){
 
            console.log("Cancel the subscrition failed, error code: "+ error.code + 
            "error message: "+ error.content);
          }
 
        });
      }
     
 </script>
</head>
<body>
 <input type="button" value="publish" onclick="publishMessage()"/>
 <input type="button" value="unsubscribe" onclick="unsubscribe()"/>
 <input type="button" value="subscribe" onclick="subscribe()"/>
</body>
</html>

위 내용은 JAVA 웹 실시간 메시지 백그라운드 서버 푸시 기술---GoEasy 관련 내용을 참고하시기 바랍니다. CN)!



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