MySQL üzerinde yeni bir tablo üretiniz;
CREATE TABLE `shares` ( `id` int(11) NOT NULL, `text` text, `share_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8server.js oluşturunuz içerisine;
var app = require("express")(); var mysql = require("mysql"); var http = require('http').Server(app); var io = require("socket.io")(http); /* Creating POOL MySQL connection.*/ var pool = mysql.createPool({ connectionLimit : 100, host : 'localhost', user : 'root', password : 'ŞİFRENİZ', database : 'veritabanı', debug : false }); app.get("/",function(req,res){ res.sendFile(__dirname + '/index.html'); }); /* This is auto initiated event when Client connects to Your Machien. */ io.on('connection',function(socket){ console.log("A user is connected"); socket.on('status added',function(status){ add_status(status,function(res){ if(res){ io.emit('refresh feed',status); } else { io.emit('error'); } }); }); }); var add_status = function (status,callback) { pool.getConnection(function(err,connection){ if (err) { callback(false); return; } connection.query("INSERT INTO `shares` (`text`) VALUES ('"+status+"')",function(err,rows){ connection.release(); if(!err) { callback(true); } }); connection.on('error', function(err) { callback(false); return; }); }); } http.listen(3000,function(){ console.log("Listening on 3000"); });
index.html oluşturunuz içerisine;
<html>
<head>
<title>Socket.io</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<script src = "http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
var socket = io();
$("#add_status").click(function(){
socket.emit('status added',$("#comment").val());
});
socket.on('refresh feed',function(msg){
$("#show_comments").append(msg + '<br /><br />');
});
});
</script>
</head>
<body>
<div id="comment_box" style = "padding:5%;">
<textarea id="comment" rows="5" cols="70"></textarea><br /><br />
<input type="button" id="add_status" value="Add Status">
</div>
<div
id = "show_comments"
class = "jumbotron"
style = "width: 38%;
height: 100%;
padding: 2%;
margin-left:5%;
margin-top:-53px;"
>
</div>
</body>
</html>
En son node server diyerek ilgili klasörde server.js dosyasını çalıştırmış olduk.
Not: Socket.io ile Real Time haberleşmesini sağlamış oluyoruz.
Toplam yorum sayısı: 0