Skip to content

Commit 453ee20

Browse files
author
ore
committed
pythonとjavascriptで動くwebsocketのサンプル
0 parents  commit 453ee20

File tree

7 files changed

+346
-0
lines changed

7 files changed

+346
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.venv/*

.vscode/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"python.pythonPath": ".venv/bin/python",
3+
"python.venvPath": ".venv"
4+
}

Pipfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[[source]]
2+
name = "pypi"
3+
url = "https://pypi.org/simple"
4+
verify_ssl = true
5+
6+
[dev-packages]
7+
python-language-server = "*"
8+
jedi = "*"
9+
pylint = "*"
10+
11+
[packages]
12+
flask = "*"
13+
flask-socketio = "*"
14+
flask-cors = "*"
15+
16+
[requires]
17+
python_version = "3.6"

Pipfile.lock

Lines changed: 274 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<head>
2+
</head>
3+
4+
<body>
5+
<p>TEST</p>
6+
<form action="">
7+
<input type="text" id="msg"></input>
8+
<button type="submit" id="submit">送信</button>
9+
</form>
10+
<ul id="message">
11+
<li>LINE1</li>
12+
</ul>
13+
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>
14+
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
15+
<script src="./test.js"></script>
16+
</body>

test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
$(function(){
2+
var socket = io('http://localhost:5000');
3+
$("form").submit(function(e){
4+
e.preventDefault();
5+
socket.emit('msg', $("#msg").val());
6+
$("#msg").val("");
7+
return false;
8+
});
9+
socket.on('msg', function(msg){
10+
$('#message').append($("<li>").text(msg));
11+
})
12+
})

test.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from flask import Flask
2+
from flask_socketio import SocketIO
3+
from flask_socketio import send, emit
4+
from flask_cors import CORS
5+
6+
app = Flask(__name__)
7+
CORS(app)
8+
socketio = SocketIO(app)
9+
10+
@socketio.on('msg')
11+
def test(message):
12+
print(message)
13+
emit('msg', message, broadcast=True)
14+
15+
@app.route('/')
16+
def main():
17+
print("root directory")
18+
return 'root'
19+
20+
if __name__ == '__main__':
21+
#app.run(host='0.0.0.0', port=80)
22+
socketio.run(app)

0 commit comments

Comments
 (0)