''Node.js with socket.io - jak bez przeładowania strony wysłać pliki z jednego klienta do drugiego?''
Mam takie problemy, że chciałem zrobić taki czat jak jest np. na fb lub gg...
Nie wiem jak to zrobić, przesłać na serwer i potem wysłać do wszystkich, ale jak to zrobić bez przeładowania, strony, tak jak działa to na fb, czy gg.
Nie jestem bardzo zaznany, lekko znam JS, chodzi o to czy w JS możemy to jakoś zrobić w jakiś prosty sposób (jakbym umiał )?
var express = require('express');
var socket = require('socket.io');
const session = require('express-session');
const cookieParser = require('cookie-parser');
const path = require('path');
var app = express();
var main = require('./routes/routeMain'),
loginIn = require('./routes/routeLoginIn'),
error = require('./routes/routeError.js');
app.use(express.static('public'));
app.use(express.static('routes'));
app.use(session({secret: 'aSecret',maxAge: 10000})); //maxAge: 100000
app.use(cookieParser());
app.set('view engine', 'ejs');
app.set('views','./views');
//#################################################################################
app.use('/', main);
app.use('/loginIn', loginIn);
app.use('*', error);
//#################################################################################
var server = app.listen(4000, function(){
console.log('nasluchuje na porcie 4000');
});
//#################################################################################
var io = socket(server);
io.on('connection', (socket) => {
var actualUser = '';
socket.on('chat', function(data){
var same = data.includes(actualUser);
if(!same){
actualUser = data.handle;
}
io.sockets.emit('chat', {message: data, userStat: same});
});
// Handle typing event
socket.on('typing', function(data){
socket.broadcast.emit('typing', data);
});
socket.on('untyping', function (data) {
socket.broadcast.emit('untyping', '');
});
socket.on('imagefile', function (data) {
socket.broadcast.emit('userImage', data)
});
});