본문 바로가기

자바

servlet과 웹소켓

package com.devjones.util.websocket;

import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/mySock")
public class WebSocket {

	@OnOpen
	public void handleOpen() {
		
		System.out.println("client is now connected...");
	}
	
	@OnMessage
	public String handleMessage(String message) {
		
		System.out.println("클라이언트에게 받은 메시지 : " + message);
		
		String replymessage = "echo : " + message;
		
		System.out.println("클라이언트에게 보낼 메시지 : " + replymessage);
		
		return replymessage;
	}
	
	@OnClose
	public void handleClose() {
		
		System.out.println("클라이언트와 연결이 끊겼습니다.");
	}
	
	@OnError
	public void handleError(Throwable t) {
		
		t.printStackTrace();
	}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<form>
	<input id="textMessage">
	<input type="button" onclick="sendMessage()" value="Send">
	<input type="button" onclick="disconnect()" value="Disconnect">
</form>

<br>

<textarea rows="10" cols="50" id="messageTextArea"></textarea>

<script type="text/javascript">

var webSocket = new WebSocket("ws://localhost:8080/TestWebProject/mySock");

var messageTextArea = document.getElementById("messageTextArea");

webSocket.onopen = function(message) {
	
	messageTextArea.value += "Server Connect...\n";
};

webSocket.onclose = function(message) {
	
	messageTextArea.value += "Server Disconnect...\n";
};

webSocket.onerror = function(message) {
	
	messageTextArea.value += "error...\n";
};

webSocket.onmessage = function(message) {
	
	messageTextArea.value += "Receive from Server => " + message.data + "\n";
};

function sendMessage() {
	
	var message = document.getElementById("textMessage");
	
	messageTextArea.value += "Send to Server => " + message.value + "\n";
	
	webSocket.send(message.value);
	
	message.value = "";
}

function disconnect() {
	
	webSocket.close();
}

</script>

</body>
</html>

 

출처:

nowonbun.tistory.com/285

'자바' 카테고리의 다른 글

Properties  (0) 2020.12.05
JAXB  (0) 2020.12.05
스트림 api  (0) 2020.11.22
파일 업로드  (0) 2020.11.22
비트 연산  (0) 2020.11.21