Knowledge/it / / 2019. 8. 30. 10:10

spring python 통신 방법(websocket)

반응형

안녕하세요 오늘은 spring 이랑 python 데이터 전송 방버벵 대해 설명해 드리겠습니다.

websocket 방식으로 데이터를 전송 하겠습니다.

 

서버 : spring websocket

클라이언트: python

 

spring 설정

pom.xml 파일

  
<dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-websocket</artifactId>
       <version>4.2.4.RELEASE</version>

</dependency>

 

spring-servlet.xml 파일

<beans

      xmlns:websocket="http://www.springframework.org/schema/websocket"

      xsi:schemaLocation="

            http://www.springframework.org/schema/websocket/spring-websocket-4.1.xsd

....

....

">

​​<bean id="echoHandler" class="com.bit.web.util.EchoHandler" />

        <websocket:handlers>

        ​           <websocket:mapping handler="echoHandler" path="/echo" />

        <websocket:handlers>

 

EchoHandler.java 파일

 

package com.bit.web.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;

import com.bit.site.service.ReservationService;

public class EchoHandler extends TextWebSocketHandler {

// 클라이언트와 연결 이후에 실행되는 메서드
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
System.out.println("afterConnectionEstablished"+session);
}

// 클라이언트가 서버로 메시지를 전송했을 때 실행되는 메서드
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
System.out.println("handleTextMessage"+session+"message"+message);
String msg = message.getPayload();
System.out.println(msg);
System.out.println("실행");
}

// 클라이언트와 연결을 끊었을 때 실행되는 메소드
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
System.out.println("afterConnectionClosed");
}
}

 

 

python 코드

cmd 창으로 들어가서 pip install websocket 설치하셔야합니다.

 

from socket import *
from select import select
import sys
import time
from websocket import create_connection


def sendmessage(msg):
    
    try:
        ws = create_connection("ws://localhost:8080/spring-websocket/echo")
        print("Sending")
        ws.send(msg)
        ws.close()
    except Exception as e:
       print(e)

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유