1. 서버
- 패키지 설치는 아래의 명령어로 한다.
pip3 install Flask-SocketIO==5.1.2 python-engineio==4.3.2 python-socketio==5.6.0 eventlet
- 서버 코드는 다음과 같이 작성한다.
from flask import Flask from flask_socketio import SocketIO import datetime import eventlet app = Flask(__name__) socketio = SocketIO(app) socketio.init_app(app, cors_allowed_origins="*") @app.route('/') def hello(): return '<h1>This is site</h1>' def send_count_in_intervals(): count = 0 while True: socketio.sleep(1) socketio.emit('message', { 'time': datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S"), 'count': count }) count += 1 if __name__ == '__main__': thread = socketio.start_background_task(send_count_in_intervals) eventlet.wsgi.server(eventlet.listen(('', 9999)), app)
2. 클라이언트
- 패키지 설치는 아래의 명령어로 한다.
pip3 install python-socketio
- 클라이언트 코드는 다음과 같이 작성한다.
import socketio sio = socketio.Client() sio.connect('ws://127.0.0.1:9999') @sio.on('message') def receive_message(message): print('message', message)
3. 포스트맨 테스트