Node.js - 실시간 위치 추적 (2)
이제 사용자 위치를 저장할 "Location" 데이터베이스를 생성합니다.
mysql> CREATE DATABASE Location;
mysql> USE Location;
mysql> CREATE TABLE locations (
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(50) NOT NULL,
-> latitude DOUBLE NOT NULL,
-> longitude DOUBLE NOT NULL,
-> date DATETIME NOT NULL);
서버 코드 "app.js" 파일 코드를 작성합니다.
// 모듈을 추출합니다.
var fs = require('fs');
var http = require('http');
var express = require('express');
// 데이터베이스와 연결합니다.
var client = require('mysql').createConnection({
user: 'root',
password: '비밀번호',
database: 'location'
});
// 웹 서버를 생성합니다.
var app = express();
var server = http.createServer(app);
// GET - /tracker
app.get('/tracker', function (request, response) {
// Tracker.html 파일을 제공합니다.
fs.readFile('Tracker.html', function (error, data) {
response.send(data.toString());
});
});
// GET - /observer
app.get('/observer', function (request, response) {
// Observer.html 파일을 제공합니다.
fs.readFile('Observer.html', function (error, data) {
response.send(data.toString());
});
});
// GET - /ShowData
app.get('/showdata', function (request, response) {
// 데이터베이스의 데이터를 제공합니다.
client.query('SELECT * FROM locations WHERE name=?', [request.param('name')], function (error, data) {
response.send(data);
});
});
// 웹 서버를 실행합니다.
server.listen(52273, function () {
console.log('Server Running at http://127.0.0.1:52273');
});
// 소켓 서버를 생성 및 실행합니다.
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) {
// join 이벤트
socket.on('join', function (data) {
socket.join(data);
});
// location 이벤트
socket.on('location', function (data) {
// 데이터를 삽입합니다.
client.query('INSERT INTO locations(name, latitude, longitude, date) VALUES (?, ?, ?, NOW())', [data.name, data.latitude, data.longitude]);
// receive 이벤트를 발생시킵니다.
io.sockets.in(data.name).emit('receive', {
latitude: data.latitude,
longitude: data.longitude,
date: Date.now()
});
});
});
게시글 목록
| 번호 | 제목 |
|---|---|
| 20841 | |
| 20840 | |
| 20839 | |
| 20838 | |
| 20835 | |
| 20834 | |
| 7057 | |
| 19668 |
JavaScript
자바스크립트(4)
|
| 19667 |
PHP
자바스크립트(3)
|
| 19666 |
JavaScript
자바스크립트(2)
|
| 19665 |
JavaScript
자바스크립트(1)
|
| 19663 |
PHP
정규 표현식
1
|
| 19662 |
PHP
기타 함수
|
| 19661 |
PHP
수학 연산 함수
|
| 19660 |
PHP
파일 처리 함수(3)
|
| 19659 |
PHP
파일 처리 함수(2)
|
| 19658 |
PHP
날짜 및 시간 함수
|
| 19657 |
PHP
파일 처리 함수(1)
|
| 19656 |
PHP
문자열 함수(5)
|
| 19655 |
PHP
문자열 함수(4)
|
| 19654 |
PHP
문자열 함수(3)
|
| 19653 |
PHP
문자열 함수(2)
|
| 19652 |
PHP
문자열 함수(1)
|
| 19651 |
PHP
사용자 정의 함수(3)
|
| 19650 |
PHP
사용자 정의 함수(2)
|
| 19649 |
PHP
사용자 정의 함수(1)
|
| 19648 |
PHP
그 밖의 제어문
|
| 19647 |
PHP
반복 제어문(2)
|
| 19646 |
PHP
반복 제어문(1)
|
| 19645 |
PHP
조건 제어문(2)
|
| 19644 |
PHP
조건 제어문(1)
|
| 19643 |
PHP
비교 연산자, 논리 연산자
|
| 19642 |
PHP
산술 연산자, 대입 연산자
|
| 19641 | |
| 19640 |
PHP
가변 변수
|
| 19639 |
PHP
정적 변수
|
| 19638 |
PHP
전역 변수
|
| 19637 |
PHP
배열 변수
|
| 19636 |
PHP
변수 사용법
|
| 7051 | |
| 26561 | |
| 19635 | |
| 19634 |
MySQL
mysqlDB export 복원
|
| 27958 | |
| 30952 | |
| 27955 | |
| 19633 | |
| 19632 | |
| 19631 | |
| 7048 | |
| 7033 | |
| 19630 | |
| 7021 | |
| 7018 | |
| 27953 | |
| 7015 | |
| 27951 | |
| 7011 | |
| 19628 | |
| 19627 | |
| 7010 | |
| 27947 | |
| 7009 | |
| 19626 | |
| 19625 | |
| 24635 | |
| 7005 | |
| 27943 | |
| 7000 | |
| 19624 | |
| 6995 | |
| 6992 | |
| 30949 |
HTML
html5 멋진 사이트 1곳
2
|
| 30948 |
CSS
overflow 속성
|
| 19623 | |
| 19620 | |
| 19619 | |
| 6990 | |
| 6986 | |
| 27940 | |
| 30947 | |
| 30945 | |
| 19618 | |
| 19617 | |
| 19616 |
웹서버
wget에 대한 팁
|
| 19615 | |
| 19614 | |
| 19613 | |
| 19612 | |
| 19610 | |
| 30943 | |
| 30942 | |
| 19609 |
JavaScript
GET,POST값 등을 JAVASCRIPT에서 사용할 경우[펌]
|
| 19608 | |
| 19607 |
MySQL
특정 폴더에서 PHP 실행 금지하기[펌]
|
| 24631 | |
| 27935 | |
| 27933 | |
| 24628 | |
| 19604 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기