2017년 5월 31일 수요일

[java]java webSocket Client 구현

자바로 웹소켓 서버를 구현할수도 있지만
때에따라 어떤 웹소켓 서버로부터 데이터를 받아 처리해야 할경우는
웹소켓 클라이언트를 구현해야한다.

일단 WebSocketClient 라이브러리가 필요하다.

메이븐 프로젝트의 경우 pom.xml 에

<dependency>
    <groupId>org.java-websocket</groupId>
    <artifactId>Java-WebSocket</artifactId>
    <version>1.3.0</version>
</dependency>


를 추가한후 빌드를 하면 되고

직접

http://grepcode.com/snapshot/repo1.maven.org/maven2/org.java-websocket/Java-WebSocket/1.3.0 

에서 Binary download 를 한후 프로젝트 우클릭 > build Path > configure Build Path > 

libraries 탭에서 라이브러리를 추가 해야한다.

더불어 웹소켓의 경우 json 데이터로 주로 송수신 하기 때문에 json-simple.jar 도
추가 하도록 한다. (다운은 알아서 검색)

import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;

import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft_10;
import org.java_websocket.handshake.ServerHandshake;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;


public class ChatParseTest1 {
   public static void main(String[] args) throws URISyntaxException {
//WebSocketClient 를 객체 생성과 동시에 정의한다.
     //WebSocketClient 객체는 추상클래스이며 WebSocketAdapter 의 구현체이다.
  WebSocketClient mWs = new WebSocketClient( new URI( "" ), new Draft_10()){

         //웹소켓 연결이 끊길때 호출됨
         @Override
 public void onClose(int arg0, String arg1, boolean arg2) {
    System.out.println("onClose");
 }
         
         //통신중 오류 발생시 호출됨
 @Override
 public void onError(Exception arg0) {
            System.out.println("onError()");
         }
         
         //웹소켓 서버로부터 메세지를 수신하면 호출됨
 @Override
 public void onMessage(String json) {

            //미리 추가해둔 JSONObject 객체를 사용 파싱
    JSONParser jsonParser = new JSONParser();

            //여기서 받은 json 데이터를 알아서 지지고 볶으면 된다.

         }
 //처음 웹소켓이 연결되었을때 호출   
 @Override
 public void onOpen(ServerHandshake arg0) {
 
    System.out.println("onOpen()");

}
  }
   }
}

더이상의 자세한 설명은 생략한다.


댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1