1- from flask import Flask , render_template , request , session
2- from flask_socketio import SocketIO , emit , join_room , send
1+ from flask import Flask ,request , session
2+ from flask_socketio import SocketIO , emit , join_room
33# from elasticsearch import Elasticsearch
44# from elasticsearch import helpers
55import datetime
66import redis
77import requests
88import json
9- from socket_io_emitter import Emitter
109from pydantic import BaseSettings
1110
1211
@@ -30,11 +29,7 @@ class Settings(BaseSettings):
3029
3130app = Flask (__name__ )
3231app .config ['SECRET_KEY' ] = "test key"
33- # app.config['SESSION_TYPE'] = 'redis'
34- # app.config['SESSION_REDIS'] = redis.from_url('redis://redis-svc:6379')
35- #
3632socketio = SocketIO (app , message_queue = f'{ REDIS_IP } :{ REDIS_PORT } ' , cors_allowed_origins = "*" )
37- #io = Emitter({'host': 'redis-svc', 'port': 6379})
3833users_in_room = {}
3934rooms_sid = {}
4035names_sid = {}
@@ -59,22 +54,16 @@ def hello():
5954 return 'hello'
6055
6156
62- @socketio .on ('connect' ) ################### test
57+ @socketio .on ('connect' )
6358def test_connect ():
6459 print ("connection is successs" )
6560
66-
67- # @app.route("/join", methods=["GET"])
68- # def join():
69- # return render_template("join.html")
70-
7161@socketio .on ("create-room" )
7262def on_create_room (data ):
7363 session [data ["roomName" ]] = {
7464 "name" : data ["userNickname" ]
7565 }
7666 print (session )
77- #io.In(data["roomName"]).Emit("join-request")
7867 emit ("join-request" )
7968
8069 # Spring 로직 추가 => 방 생성
@@ -112,8 +101,7 @@ def on_join_room(data):
112101 # date = datetime.datetime.now()
113102 # now = date.strftime('%m/%d/%y %H:%M:%S')
114103 # doc_join= {"des":"New member joined", "room_id":room_id, "sid": sid, "@timestamp": utc_time()}
115- # es.index(index=index_name, doc_type="log", body=doc_join)
116- #io.In(room_id).Emit("user-connect", {"sid": sid, "name": display_name},include_self=False, room=room_id)
104+ # es.index(index=index_name, doc_type="log", body=doc_join)
117105 emit ("user-connect" , {"sid" : sid , "name" : display_name }, broadcast = True , include_self = False , room = room_id )
118106 # broadcasting시 동일한 네임스페이스에 연결된 모든 클라이언트에게 메시지를 송신함
119107 # include_self=False 이므로 본인을 제외하고 broadcasting
@@ -128,16 +116,12 @@ def on_join_room(data):
128116 # send list of existing users to the new member
129117 print ("usrlist :::::::::::::::::::::::" )
130118 print (usrlist )
131- #io.In(room_id).Emit("user-list", {"list": usrlist, "my_id": sid})
132119 emit ("user-list" , {"list" : usrlist , "my_id" : sid })
133120 # add new member to user list maintained on server
134121 users_in_room [room_id ].append (sid )
135122
136123 print ("\n users: " , users_in_room , "\n " )
137124
138-
139- # leave_room은 사용하지 않아도 되는지?
140-
141125@socketio .on ("disconnect" )
142126def on_disconnect ():
143127 sid = request .sid
@@ -152,8 +136,7 @@ def on_disconnect():
152136
153137 print ("[{}] Member left: {}<{}>" .format (room_id , display_name , sid ))
154138
155- emit ("user-disconnect" , {"sid" : sid },
156- broadcast = True , include_self = False , room = room_id )
139+ emit ("user-disconnect" , {"sid" : sid }, broadcast = True , include_self = False , room = room_id )
157140 # Spring 로직 추가
158141 response = exit_room (sid )
159142 print (response )
@@ -240,7 +223,5 @@ def exit_room(socketID):
240223 socketio .run (app ,
241224 host = "0.0.0.0" ,
242225 port = 5000
243- # debug=True,
244- # ssl_context=("cert.pem", "key.pem")
245226 )
246227 # make_index(es, index_name)
0 commit comments