[python] 파이썬 웹앱에서 실시간 채팅 기능 추가하기
웹앱에 실시간 채팅 기능을 추가하려면 웹소켓(WebSocket)을 사용할 수 있습니다. 웹소켓은 사용자들 간에 양방향 통신을 가능하게 하는 기술로, 실시간 채팅과 같은 기능을 구현할 때 매우 유용합니다.
필수 라이브러리 설치
먼저, Flask-SocketIO를 사용하여 실시간 통신 기능을 간단하게 추가할 수 있습니다. 이를 위해 먼저 필요한 라이브러리를 설치합니다.
pip install flask-socketio
Flask 앱에 SocketIO 통합
다음으로, Flask 앱에 SocketIO를 통합해야 합니다. 이를 위해 다음과 같이 코드를 추가할 수 있습니다.
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('chat_message')
def handle_message(message):
emit('receive_message', message, broadcast=True)
if __name__ == '__main__':
socketio.run(app)
클라이언트 측 코드
마지막으로, 클라이언트 측 코드를 작성하여 실시간으로 메시지를 보낼 수 있도록 해야 합니다. 다음은 간단한 예제입니다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.3.2/socket.io.js"></script>
<script>
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('connect', function() {
socket.emit('chat_message', {data: 'Connected'});
});
socket.on('receive_message', function(msg) {
// 받은 메시지를 처리하는 코드
});
</script>
마무리
이제 위의 단계를 따라 실시간 채팅 기능을 추가했다면, 웹앱을 시작하고 브라우저를 통해 접속하여 테스트해볼 수 있을 것입니다. 실시간으로 여러 사용자들과 채팅하는 즐거움을 경험해보세요!