Flask는 파이썬 웹 프레임워크로, 간단하게 웹 애플리케이션을 개발할 수 있습니다. 채팅 앱은 실시간으로 메시지를 주고받는 기능을 포함하므로, 웹 소켓 기술인 Socket.IO를 사용하여 구현할 수 있습니다.
필요한 패키지 설치
먼저, Flask 및 Socket.IO에 대한 패키지를 설치해야 합니다. 다음 명령어를 사용하여 필요한 패키지를 설치할 수 있습니다.
`python
pip install flask flask-socketio
\
`
Flask 앱 생성
다음으로, Flask 앱을 생성해야 합니다. 다음은 기본적인 Flask 앱을 생성하는 예제입니다.
```python from flask import Flask, render_template from flask_socketio import SocketIO
app = Flask(name) app.config[‘SECRET_KEY’] = ‘secret’ socketio = SocketIO(app)
@app.route(‘/’) def index(): return render_template(‘index.html’)
if name == ‘main’: socketio.run(app) ```
채팅 앱 템플릿
앱의 루트 경로(‘/’)로 접근했을 때 보여줄 HTML 템플릿을 만들어야 합니다. 다음은 간단한 템플릿 예제입니다.
```html <!DOCTYPE html>
채팅 앱
```
소켓 이벤트 및 메시지 전송
이제 메시지를 전송하고 받는 소켓 이벤트를 구현해야 합니다. Flask 앱에서 @socketio.on('message')
데코레이터를 사용하여 메시지를 받는 함수를 작성할 수 있습니다.
`python
@socketio.on('message')
def handle_message(data):
message = data['message']
socketio.emit('message', { 'message': message }, broadcast=True)
\
`
위의 코드에서 socketio.emit
메서드는 받은 메시지를 모든 클라이언트에게 전송합니다. 이렇게 하면 실시간으로 메시지가 송수신되는 채팅 앱을 구현할 수 있습니다.
앱 실행
모든 코드 작성을 마치면 Flask 앱을 실행할 수 있습니다. 다음과 같은 명령어를 사용하여 앱을 실행할 수 있습니다.
`bash
python app.py
\
`
웹 브라우저에서 http://localhost:5000
을 열어 앱을 확인할 수 있습니다.
이제 Flask에서의 채팅 앱 구현이 완료되었습니다. Flask와 Socket.IO를 사용하여 손쉽게 실시간 채팅 기능을 추가할 수 있습니다. Happy coding!