from flask import Flask, render_template from flask_socketio import SocketIO import flask_socketio import flask import os app = Flask(__name__,template_folder = r"../js_client") app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) p=print @app.route('/') def index(): print("INDEX") return render_template('index.html') @app.route('/f1/') def r2(path): p("????,...",path) return flask.send_file(r"../js_client/"+ path) return flask.send_file(r"../js_client", path) return flask.send_file('../js_client/jquery-3.5.1.min.js') # return flask.send_from_directory('templates', path) return flask.send_from_directory('./', path) @app.route('/') def r1(path): p("????,aaaa,...",path) if ("shared_libs/jquery-3.5.1.min.js" in path): return flask.send_from_directory(r"../js_client", "jquery-3.5.1.min.js") return flask.send_from_directory(r"../js_client", path) return flask.send_file('../js_client/jquery-3.5.1.min.js') # return flask.send_from_directory('templates', path) return flask.send_from_directory('./', path) # @socketio.on('connect',namespace="/rx2/") r''' @socketio.on('connect',namespace="/rx2") def handle_message_a(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',namespace="rx2") def handle_message_b(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',namespace="rx2/") def handle_message_c(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',namespace="/rx2/") def handle_message_d(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',"/rx2") def handle_message__a(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',"rx2") def handle_message__b(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',"rx2/") def handle_message__c(*a,**kw): print('received connect: ',a,kw) @socketio.on('connect',"/rx2/") def handle_message__d(*a,**kw): print('received connect: ',a,kw) ''' # @socketio.onAny('connect',namespace="/rx2") # def fn1(*a,**kw): # p("\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") # @socketio.on('connect',"/") # @socketio.on('connect',"/") @socketio.on('connect',"/") def handle_message(*a,**kw): print('received connect:?? ',a,kw) # p(flask.request.sid) # # for en in dir(flask.request): # p(en) # p(":") # p(flask.request.args) # p(flask.request.url) room = flask.request.args.get("room","no_room") p("+",room) join_room(room) # p(flask.request.event) # p(socketio.server.get_environ()) @socketio.on('disconnect') def test_disconnect(): print('Client disconnected') room = flask.request.args.get("room","no_room") p("}}}}}}}}}}",room) @socketio.on('message') def handle_message(data): print('received message: ' + data) @socketio.on('jsync.io2') def handle_message(data): print('received jsync.io message: ' + data) room = flask.request.args.get("room","no_room") p("io2+",room) # flask_socketio.emit('jsync.io', data, broadcast=True) flask_socketio.emit('jsync.io2', data ,room=room, broadcast=True) @socketio.on('jsync.io') def handle_message(data): print('received jsync.io message: ' + data) room = flask.request.args.get("room","no_room") p("io+",room) # flask_socketio.send(data, to=room) flask_socketio.emit('jsync.io2', data+"?", broadcast=True) # flask_socketio.emit('jsync.io', data, broadcast=True) # flask_socketio.emit('jsync.io2', data+"?", broadcast=True) @socketio.on('jsync.io.all') def handle_message(data): print('received jsync.io message: ' + data) flask_socketio.emit('jsync.io', data, broadcast=True) flask_socketio.emit('jsync.io2', data, broadcast=True) from flask_socketio import join_room, leave_room @socketio.on('join') def on_join(data): username = data['username'] room = data['room'] join_room(room) flask_socketio.send(username + ' has entered the room.', to=room) @socketio.on('leave') def on_leave(data): username = data['username'] room = data['room'] leave_room(room) flask_socketio.send(username + ' has left the room.', to=room) @socketio.on('json') def handle_json(json): print('received json: ' + str(json)) # generated by bing seems to work @app.route("/ldir") def list_directory(): orig_path = os.getcwd() # Get the list of files and directories # items = os.listdir(DIRECTORY_PATH) os.chdir(app.root_path) items = os.listdir("../js_client") os.chdir(orig_path) # Filter out hidden files and directories items = [item for item in items if not item.startswith(".")] # Create an HTML string with the list of items as links html_content = "

Contents of the Directory

    " html_links = "" html_src_links = "" other_links = "" for item in items: p([item]) if "html" in item: html_src_links += f"
  • src:{item}
  • " html_links += f"
  • {item}
  • " else: other_links += f"
  • {item}
  • " # link = (request.path + '/' if request.path != '/' else '') + item html_content+=html_links html_content+="
    " html_content+=other_links html_content+="
    " html_content+="VIEW SRC: its actually < pre >" html_content+="
    " html_content+="
    " html_content+=html_src_links html_content += "
" # Return the HTML content directly return html_content # end generated by bing for en in dir(socketio): p("~~",en) if __name__ == '__main__': socketio.run(app,debug=True,host='0.0.0.0')