-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
39 lines (30 loc) · 1013 Bytes
/
server.js
File metadata and controls
39 lines (30 loc) · 1013 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var express = require("express");
var app = express();
var http = require("http").createServer(app);
var io = require("socket.io")(http);
var mysql = require("mysql");
var connection = mysql.createConnection({
"host" : "localhost",
"user" : "root",
"password" : "",
"database" : "chat"
})
connection.connect(function(error){
})
var users = [];
io.on("connection", function(socket){
console.log("User connected" + socket.id);
socket.on("user_connected", function(username){
users[username] = socket.id;
io.emit("user_connected", username);
});
socket.on("send_message", function(data){
var socketId = users[data.receiver];
io.to(socketId).emit("new_message", data);
connection.query("INSERT INTO messages(sender, receiver, message) VALUES ('"+data.sender+"','"+data.receiver+"', '"+data.message+"')", function(error, result){
});
})
})
http.listen(3000, function(){
console.log('server started 300');
})