일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Database
- 자바네트워크
- write by chatGPT
- oracle
- 고전역학
- 자바
- android
- 시스템
- 리눅스
- chatGPT's answer
- 코틀린
- 파이썬
- 인프라
- JVM
- 뉴턴역학
- write by GPT-4
- flet
- NIO
- Java
- kotlin
- GIT
- Spring boot
- lombok
- 웹 크롤링
- GPT-4's answer
- 자바암호
- python
- 소프트웨어공학
- 유닉스
- 역학
- Today
- Total
Akashic Records
Stomp On Web Sockets 본문
Stomp on Web Sockets
원문: http://jmesnil.net/stomp-websocket/doc/
What is Stomp?
Stomp은 간단한 텍스트 지향 메시징 프로토콜 입니다. 이것은 Stom client가 Stom Message Broker와 상호 정보교환이 가능하도록 정의하고 있습니다.
Web Socket?
HTML5에 추가된 기능으로 브라우저가 화면 내에서 Socket 통신이 가능하도록 하는 기능입니다. 여기서 Socket은 우리가 흔히 아는 HTTP 프로토콜이 아니며 WS(Web Socket) 프로토콜입니다.
Server
HornetQ(2.0이상) 또는 ActiveMQ(5.4 이상)에서 Stomp을 지원합니다. 여기서는 HornetQ을 사용하도록 하겠습니다.
HornetQ 최신 버전(현재 2.1.2 Final): Open Source JMS Engine from JBoss
http://www.jboss.org/hornetq/downloads
설치이 후 Stomp Example 실행
{HornetQ_HOME}/bin/run.sh(or run.bat) ../examples/jms/stomp-websockets/server0
출력 로그 중 61614 Port로 Web Sorcket Stomp Listener가 실행되어 있는걸 확인합니다.
[main] 11:39:16,204 INFO [org.hornetq.core.remoting.impl.netty.NettyAcceptor] Started Netty Acceptor version 3.2.1.Final-r2319 localhost:61614 for STOMP_WS protocol |
HTML5을 지원하는 브라우저를 이용하여 URL ws://localhost:61614/stomp에 접근이 가능합니다.
Test Code
{HornetQ_HOME}/example/jms/stomp-websockets/chat 폴더에 Test Client Code가 있습니다.
Code는 jQuery을 이용하고 있습니다.
chat.css
chat.js
index.html
stomp.js
Create a Stomp client
URL은 WS 프로토콜이어야 합니다.
var url = "ws://localhost:61614/stomp"; |
Connection to the Server
예제 코드에서는 login, passcode 모두 quest로 hornetq-users.xml에 등록되어 있는 사용자입니다.
client.connect(login, passcode, connect_callback); |
Send Messages
Server로 Message을 전달하는 부분입니다. “jms.topic.chat”은 hornet1-jms.xml에 등록되어 있는 Topic 입니다.
client.send("jms.topic.chat", {priority: 9}, "Hello, Stomp"); |
Subscribe and Receive Messages
Server의 chat Topic으로 부터 메시지를 받아 message body에 출력합니다.
id = client.subscribe("jms.topic.chat", callback); callback = function(message) { |
Test Code 실행
Test Code “index.html”은 HTML5 실행이 가능한 브라우저(크롬, 파이어폭스, 사파리)에서 실행하기바랍니다.
Server 정보가 기본설정에서 변경되었다면 수정한 후 “Connect”, 우측에 Web Socket 연결 정보가 출력 됩니다.
Web Socket연결 이후 하단에 텍스트를 입력하고 “Enter”키를 누르면 Web Socket으로 HornetQ JMS Server로 Message가 전달되고 바로 Web Socket으로 브라우저가 Message을 받아 Message Body에 출력하여줍니다.
'오래된글 > Articles' 카테고리의 다른 글
Android HTTP Camera Live Preview Tutorial (0) | 2018.04.19 |
---|---|
The impact of Garbage Collection on Java performance (0) | 2018.04.19 |
HTML5 (0) | 2018.04.19 |
Introduction to servlet 3 new features (0) | 2018.04.19 |
SIP Servlet (0) | 2018.04.19 |