Showing
4 changed files
with
134 additions
and
1 deletions
Memo.txt
0 → 100644
1 | -// aws 인스턴스 - chatbot /home/ubuntu/server/server.js 파일임. | 1 | +// aws 인스턴스 - chatbot /home/ubuntu/server_termp/server.js 파일임. |
2 | +// 작동법 : form.html 파일을 chrome에서 open -> busNumber 입력 후 submit -> http://34.206.171.225:23023/server로 리다이렉트 | ||
3 | +// server 컴퓨터인 chatbot 인스턴스에서는 {busNumber : 0000} 와 같은 데이터를 받을 수 있음. | ||
4 | +// express routing은 아직 미구현 | ||
2 | 5 | ||
3 | var http = require('http'); | 6 | var http = require('http'); |
4 | var fs = require('fs'); | 7 | var fs = require('fs'); |
5 | var url = require('url'); | 8 | var url = require('url'); |
6 | var qs = require('querystring'); | 9 | var qs = require('querystring'); |
10 | +var express = require('express'); | ||
11 | +var app_express = express(); | ||
7 | 12 | ||
8 | var app = http.createServer(function(request,response){ | 13 | var app = http.createServer(function(request,response){ |
9 | 14 | ||
... | @@ -26,6 +31,7 @@ var app = http.createServer(function(request,response){ | ... | @@ -26,6 +31,7 @@ var app = http.createServer(function(request,response){ |
26 | var post = qs.parse(body); | 31 | var post = qs.parse(body); |
27 | // end 이벤트가 발생하면(end는 한번만 발생한다) 3번에서 저장해둔 body 를 querystring 으로 객체화 | 32 | // end 이벤트가 발생하면(end는 한번만 발생한다) 3번에서 저장해둔 body 를 querystring 으로 객체화 |
28 | console.log(post); | 33 | console.log(post); |
34 | + console.log(body); | ||
29 | // 객체화된 데이터를 로그로 출력 | 35 | // 객체화된 데이터를 로그로 출력 |
30 | response.writeHead(200, {'Content-Type':'text/html'}); | 36 | response.writeHead(200, {'Content-Type':'text/html'}); |
31 | response.end('bus Number = ' + post.busNumber); | 37 | response.end('bus Number = ' + post.busNumber); |
... | @@ -37,5 +43,9 @@ var app = http.createServer(function(request,response){ | ... | @@ -37,5 +43,9 @@ var app = http.createServer(function(request,response){ |
37 | } | 43 | } |
38 | }); | 44 | }); |
39 | 45 | ||
46 | +app_express.get("/test1234", (req, res) => { | ||
47 | + res.send('Hello world!'); | ||
48 | +}) | ||
49 | + | ||
40 | app.listen(23023); | 50 | app.listen(23023); |
41 | console.log("Listening on 23023"); | 51 | console.log("Listening on 23023"); |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
View/Index.html
0 → 100644
1 | +<!doctype html> | ||
2 | +<html> | ||
3 | +<head> | ||
4 | + <title>BUS TT</title> | ||
5 | + <meta charset="utf-8"> | ||
6 | + <style type="text/css"> | ||
7 | + a { text-decoration:none } /* 하이퍼링크 밑줄 미적용 | ||
8 | + a { color:red; text-decoration:none} : 색깔 변화없음 | ||
9 | + */ | ||
10 | + </style> | ||
11 | +</head> | ||
12 | + | ||
13 | +<body> | ||
14 | + <h1><p style="text-align:center;">BTT</p></h1> | ||
15 | + <br> | ||
16 | + <h2> 사색의 광장 Bus Time Table 조회 서비스에 오신 것을 환영합니다.</h2> | ||
17 | + <p> 이곳에는 사색의 광장에서 출발하는 모든 버스의 정보가 있습니다.</p> | ||
18 | + <br><br> | ||
19 | + <h2> 버스별 시간표 조회</h2> | ||
20 | + | ||
21 | + <script> | ||
22 | + var date = new Date(); | ||
23 | + var yyyy = date.getFullYear(); | ||
24 | + var mm = date.getMonth() + 1; | ||
25 | + var dd = date.getDate(); | ||
26 | + var hh = date.getHours(); | ||
27 | + | ||
28 | + document.write(yyyy+"년 "+mm+"월 "+dd+"일 오늘 운행하는 버스들 "); | ||
29 | + document.write("( "+hh+"시 "+mm+"분 기준 )"); | ||
30 | + </script> | ||
31 | + | ||
32 | + <ul> | ||
33 | + <li><a href="http://localhost:23023/?busNum=5100">5100</a></li> | ||
34 | + <li><a href="http://localhost:23023/?busNum=M5107">M5107</a></li> | ||
35 | + <li><a href="http://localhost:23023/?busNum=9">9</a></li> | ||
36 | + <li><a href="http://localhost:23023/?busNum=7000">7000</a></li> | ||
37 | + <li>etc</li> | ||
38 | + </ul> | ||
39 | + <br> | ||
40 | + <p>설명</p> | ||
41 | + | ||
42 | + | ||
43 | +</body> | ||
44 | +</html> |
View/base.js
0 → 100644
1 | +var http = require('http'); | ||
2 | +var fs = require('fs'); | ||
3 | +var url = require('url'); | ||
4 | +var request = require('request'); | ||
5 | + | ||
6 | +function templateTimeTable(busNum, req){ | ||
7 | + return ` | ||
8 | + <!doctype html> | ||
9 | + <html> | ||
10 | + <head> | ||
11 | + <title>Time Table</title> | ||
12 | + <meta charset="utf-8"> | ||
13 | + <style type="text/css"> | ||
14 | + a { text-decoration:none } | ||
15 | + </style> | ||
16 | + </head> | ||
17 | + | ||
18 | + <body> | ||
19 | + <h1><a href="Index.html"><p style="text-align:center;">BTT</p></a></h1> | ||
20 | + <br> | ||
21 | + <h2>${busNum} BUS Time Table</h2> | ||
22 | + <br> | ||
23 | + ${req} | ||
24 | + </body> | ||
25 | + </html> | ||
26 | + `; | ||
27 | +} | ||
28 | + | ||
29 | +function req_post(busNum){ | ||
30 | + request.post( | ||
31 | + { | ||
32 | + url: 'http://34.206.171.225:23023/server', | ||
33 | + body: { | ||
34 | + 'busNum': busNum, | ||
35 | + 'testVariable': 'test' | ||
36 | + }, | ||
37 | + json: true | ||
38 | + } | ||
39 | + ); | ||
40 | +} | ||
41 | + | ||
42 | +function req_get(){ | ||
43 | + request.get( | ||
44 | + { | ||
45 | + url: 'http://34.206.171.225:23023/test2134', | ||
46 | + } | ||
47 | + ); | ||
48 | +} | ||
49 | + | ||
50 | +var app = http.createServer(function(request,response){ | ||
51 | + var _url = request.url; | ||
52 | + var queryData = url.parse(_url, true).query; | ||
53 | + var busNum = queryData.busNum; // function의 parameter로 queryData.busNum은 안되서 새로 변수를 만듦 | ||
54 | + if(_url == '/'){ | ||
55 | + _url = '/Index.html'; | ||
56 | + } | ||
57 | + if(_url == '/favicon.ico'){ | ||
58 | + return response.writeHead(404); | ||
59 | + } | ||
60 | + response.writeHead(200); | ||
61 | + console.log(queryData.busNum); | ||
62 | + | ||
63 | + if (busNum != null){ // 버스번호를 요청했을때 타임테이블 페이지로 전환 | ||
64 | + req_post(busNum); | ||
65 | + var resFromServer = req_get(); | ||
66 | + console.log(req_get()); | ||
67 | + //var resFromServer = '<p> Response from API server ... </p>'; | ||
68 | + var timetableHTML = templateTimeTable(busNum, resFromServer); | ||
69 | + response.end(timetableHTML); | ||
70 | + } | ||
71 | + else{ // 아니라면, url 따라감 | ||
72 | + response.end(fs.readFileSync(__dirname + _url)); | ||
73 | + } | ||
74 | +}); | ||
75 | +app.listen(23023); | ||
76 | +console.log("Listening on 23023"); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment