ㅇ
아래는 암호화와 복호화 작업을 제거한 코드입니다.
```python
# server.py
from flask import Flask, request, jsonify
from queue import Queue
import threading
import time
app = Flask(__name__)
message_queues = {} # 클라이언트별 메시지 큐
clients = set() # 연결된 클라이언트 목록
@app.route('/register', methods=['POST'])
def register_client():
client_id = request.get_json()['client_id']
if client_id not in message_queues:
message_queues[client_id] = Queue()
clients.add(client_id)
return jsonify({"status": "success"})
@app.route('/send', methods=['POST'])
def send_message():
try:
data = request.get_json()
sender_id = data['sender_id']
message = data['message']
# 다른 모든 클라이언트에게 메시지 전달
for client_id in clients:
if client_id != sender_id:
message_queues[client_id].put(f"{sender_id}: {message}")
return jsonify({"status": "success"})
except Exception as e:
return jsonify({"status": "error", "message": str(e)}), 400
@app.route('/receive', methods=['POST'])
def receive_messages():
client_id = request.get_json()['client_id']
if client_id in message_queues:
messages = []
while not message_queues[client_id].empty():
messages.append(message_queues[client_id].get())
return jsonify({"messages": messages})
return jsonify({"messages": []})
@app.route('/unregister', methods=['POST'])
def unregister_client():
client_id = request.get_json()['client_id']
if client_id in clients:
clients.remove(client_id)
del message_queues[client_id]
return jsonify({"status": "success"})
if __name__ == '__main__':
app.run(debug=True, port=5000)
```
이 수정된 코드에서는 다음과 같은 변경 사항이 있습니다:
- `encrypt_message()` 및 `decrypt_message()` 함수가 제거되었습니다.
- `/send` 엔드포인트에서 메시지를 암호화하거나 복호화하지 않고 그대로 전달합니다.
- `/receive` 엔드포인트에서 암호화된 메시지를 반환하는 대신 일반 텍스트 메시지를 반환합니다.
이제 메시지는 암호화되지 않은 상태로 서버를 통해 클라이언트 간에 전달됩니다. 이는 보안상 취약점이 될 수 있으므로 실제 프로덕션 환경에서는 적절한 보안 조치를 취하는 것이 좋습니다.