웹소켓기술을 이용해서 간단하게 심플한 배달원 위치추적 시스템을 만들어보자
1.배달 웹소캣 핸들러 작성
@Service
@Slf4j
@RequiredArgsConstructor
public class DeliverPositionHandler extends TextWebSocketHandler {
@Override//메세지가오는함수
public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
}
@Override//연결이되면 자동으로 작동하는함수
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
log.info("배달 웹소켓이 연결되었습니다");
}
@Override //연결이끊기면 자동으로 작동하는함수
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
//권한에 따라
}
}
2.웹소켓 설정
@Configuration
@RequiredArgsConstructor
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
private final DeliverPositionHandler deliverPositionHandler;
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler((WebSocketHandler) deliverPositionHandler, "/ws/deliver").setAllowedOrigins("*");
}
}
3.프론트 연결코드작성
<script>
// 웹소켓 생성
const socket = new WebSocket("ws://localhost:8080/ws/deliver");
// 커넥션이 제대로 생성되었을 때
socket.onopen = function (e) {
};
// 데이터를 수신 받았을 때
socket.onmessage = async function (e) {
};
// 에러가 발생했을 때
socket.onerror = function (e) {
console.log(e);
};
</script>
4.결과
성공
깃허브페이지
https://github.com/novb1492/deliver/tree/basic-setting
'짧은 프로젝트' 카테고리의 다른 글
Springboot jwt 로그인3(redis 리프레시토큰) (0) | 2024.01.12 |
---|---|
Springboot Jwt 로그인2(로그인 처리 후 쿠키 발급) (0) | 2024.01.12 |
Spring boot jwt 로그인 하기1 (기본세팅) (0) | 2024.01.11 |
Springboot 배달 시스템 만들기 3(위치정보 전송 및 표시하기 카카오지도) (0) | 2024.01.10 |
Springboot 배달 시스템 만들기 2(배달방 생성,삭제,메세지전송) (0) | 2024.01.10 |