때에따라 어떤 웹소켓 서버로부터 데이터를 받아 처리해야 할경우는
웹소켓 클라이언트를 구현해야한다.
일단 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()");
}
}
}
}
더이상의 자세한 설명은 생략한다.
댓글 없음:
댓글 쓰기