init
commit
49b7c7f78e
@ -0,0 +1 @@
|
||||
venv/
|
@ -0,0 +1,17 @@
|
||||
from flask import Flask, render_template
|
||||
from flask_sock import Sock
|
||||
|
||||
app = Flask(__name__)
|
||||
sock = Sock(app)
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return render_template('index.html')
|
||||
|
||||
|
||||
@sock.route('/echo')
|
||||
def echo(sock):
|
||||
while True:
|
||||
data = sock.receive()
|
||||
sock.send(data)
|
@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Flask-Sock Demo</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Flask-Sock Demo</h1>
|
||||
<div id="log"></div>
|
||||
<br />
|
||||
<form id="form">
|
||||
<label for="text">Input: </label>
|
||||
<input type="text" id="text" autofocus />
|
||||
</form>
|
||||
<script>
|
||||
const log = (text, color) => {
|
||||
document.getElementById(
|
||||
"log"
|
||||
).innerHTML += `<span style="color: ${color}">${text}</span><br>`;
|
||||
};
|
||||
|
||||
const socket = new WebSocket("ws://" + location.host + "/echo");
|
||||
socket.addEventListener("message", (ev) => {
|
||||
log("<<< " + ev.data, "blue");
|
||||
});
|
||||
document.getElementById("form").onsubmit = (ev) => {
|
||||
ev.preventDefault();
|
||||
const textField = document.getElementById("text");
|
||||
log(">>> " + textField.value, "red");
|
||||
socket.send(textField.value);
|
||||
textField.value = "";
|
||||
};
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue