質問編集履歴

1

コードを追加しました.

2021/05/14 02:11

投稿

mi_ho
mi_ho

スコア34

test CHANGED
File without changes
test CHANGED
@@ -13,3 +13,115 @@
13
13
  処理をユーザーごと,もしくはタブごとに分けたいのですが,どのような方法があるでしょうか.
14
14
 
15
15
  ご教授お願いいたします.
16
+
17
+
18
+
19
+ コードを追加しました. 2021/5/14 11:10
20
+
21
+
22
+
23
+ ```Js
24
+
25
+ var socketio = io();
26
+
27
+ $(function(){
28
+
29
+ $('#message_form').submit(function(){
30
+
31
+ socketio.emit('message', "***"); //ブラウザでボタンが押されたらメッセージを送る
32
+
33
+ });
34
+
35
+ socketio.on('output',function(msg){ //Nodeから返されたjsonを描画
36
+
37
+ draw(msg); //描画関数
38
+
39
+ });
40
+
41
+ });
42
+
43
+ ```
44
+
45
+
46
+
47
+ ```Node
48
+
49
+ var express = require('express');
50
+
51
+ var app = express();
52
+
53
+ var http = require('http').Server(app);
54
+
55
+ const io = require('socket.io')(http);
56
+
57
+ const PORT = process.env.PORT || 7000;
58
+
59
+
60
+
61
+ app
62
+
63
+ .get('/', (req, res) => res.sendFile(__dirname+'/index.html'))
64
+
65
+ .use("/static", express.static(__dirname + "/static"))
66
+
67
+
68
+
69
+ http.listen(PORT, function(){
70
+
71
+ console.log('server listening. Port:' + PORT);
72
+
73
+ });
74
+
75
+
76
+
77
+ io.on('connection',function(socket){
78
+
79
+ socket.on('message',function(msg){
80
+
81
+ get_json(); //ブラウザでボタンが押されたらget_json()を実行
82
+
83
+ });
84
+
85
+ });
86
+
87
+
88
+
89
+ const axios = require('axios');
90
+
91
+ var fs = require('fs');
92
+
93
+ var masterData_output = "";
94
+
95
+
96
+
97
+ function get_json(){ //APIへアクセスしてjsonを取得
98
+
99
+ (async () => {
100
+
101
+ try {
102
+
103
+ const response = await axios.get("api-url", {
104
+
105
+ headers: {
106
+
107
+ Cookie: "connect.sid=***"
108
+
109
+ },
110
+
111
+ });
112
+
113
+ masterData_output = JSON.stringify(response.data, null, ' ');
114
+
115
+ io.emit('output', masterData_output);
116
+
117
+ } catch (error) {
118
+
119
+ console.log(error);
120
+
121
+ }
122
+
123
+ })();
124
+
125
+ }
126
+
127
+ ```