[파이썬] Flask에서의 채팅 앱 구현

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 채팅 앱

채팅 앱

```

소켓 이벤트 및 메시지 전송

이제 메시지를 전송하고 받는 소켓 이벤트를 구현해야 합니다. 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!