zoukankan      html  css  js  c++  java
  • websocket实现简单的群聊

     1 from flask import Flask, request, render_template
     2 
     3 from geventwebsocket.handler import WebSocketHandler
     4 from gevent.pywsgi import WSGIServer
     5 from geventwebsocket.websocket import WebSocket
     6 
     7 app = Flask(__name__)
     8 
     9 user_socket_list = []
    10 
    11 
    12 @app.route('/conn_ws')
    13 def ws_app():
    14     # print(request.environ)
    15 
    16     user_socket = request.environ.get('wsgi.websocket')  # type: WebSocket
    17     user_socket_list.append(user_socket)
    18     print(len(user_socket_list), user_socket_list)
    19     while True:
    20         msg = user_socket.receive()
    21         print(msg)
    22         for i in user_socket_list:
    23             i.send(msg)
    24 
    25 
    26 @app.route('/index')
    27 def index():
    28     return render_template('my_qserv.html')
    29 
    30 
    31 if __name__ == '__main__':
    32     http_serv = WSGIServer(('0.0.0.0', 9527), app, handler_class=WebSocketHandler)
    33 
    34     http_serv.serve_forever()
    后端
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <input type="text" id="send_str">
     9 <button id="send_btn" onclick="send()">发送消息</button>
    10 <p>
    11 <div id="chat_list">
    12 </div>
    13 </p>
    14 </body>
    15 <script type="application/javascript">
    16     var ws = new WebSocket('ws://192.168.11.67:9527/conn_ws');
    17     ws.onmessage = function (messageEvent) {
    18         console.log(messageEvent.data);
    19         var ptag = document.createElement('p');
    20         ptag.innerText = messageEvent.data;
    21         document.getElementById('chat_list').appendChild(ptag);
    22     };
    23     function send() {
    24         var send_str = document.getElementById('send_str').value;
    25         ws.send(send_str);
    26     }
    27 </script>
    28 </html>
    前端
  • 相关阅读:
    P3811乘法逆元
    P4549裴蜀定理
    备用代码区
    其他板子整理
    DP
    图论板子整理
    约数
    浅谈假学习假努力
    质数
    P1019 单词接龙
  • 原文地址:https://www.cnblogs.com/zhao-peng-/p/10589922.html
Copyright © 2011-2022 走看看