Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Programlama
> Javascript > Node.js



Socket.io ile bir chat uygulaması yapalım.

Node.js

Yeni Konu aç Cevapla
 
Seçenekler
Alt 27-01-2019 15:50   #1
  • AR-GE Tim
  • Üye Bilgileri
Üyelik tarihi
08/2015
Nereden
Phobos/Space
Mesajlar
Konular

Teşekkür (Etti): 306
Teşekkür (Aldı): 407


Socket.io ile bir chat uygulaması yapalım.



Socket.io nedir?


Socket.IO, tarayıcı ile sunucu arasında gerçek zamanlı(real time), çift yönlü(bidirectional) ve olaya dayalı(event based) iletişimi sağlayan bir Javascript kütüphanesidir.

Bir proje oluşturup socket.io yu kullanalım. Boş bir dizinde;
Kod:
npm init
komutunu çalıştırın ve projeniz için package.json oluşturun.

Ardından gerekli kütüphaneleri yükleyelim

Kod:
npm install --save express socket.io pug socket.io-client
Scoket.io nun çalışması için illa express serverine ihtiyac yoktur Node nin kendi http serveri ile de çalışır.
Kod:
var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');

app.listen(80);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});
ama biz uygulamamızda express kullanacağiz.

index.js dosyamızı proje dizininde oluşturduktan sonra devam edelim

index.js
Kod:
const app = require('express')();
const server = app.listen(80, () => {
    console.log("Chat server başladı");
})
const io = require("socket.io").listen(server); // socket.io yu express serverine bağladık

// Pug template engine kullancağmızı belirttik
app.set('view engine', 'pug');

app.get('/chat', (req, res) => {
    res.render('index', {
        title: "Chat!"
    })
})

//ilk eventimizi yazalım
//Client servera ilk bağlandığında "connection" eventine
//kendi socket objesini gönderir
io.on("connection", (socket) => {
    console.log("Biri bağlandı");
})
Şimdi render ettiğimiz sayfamızı hazırlayalım
/views/index.pug




Sayfamış şu şekilde görüncek



"connection" eventinin yanında her soketin bir de "disconnect" eventi vardır.
Kod:
io.on("connection", (socket) => {
    console.log("Biri bağlandı");

    socket.on("disconnect", () => {
        console.log("Biri ayrıldı");
    })
})



Socket.io istediğiniz veriyi istediğiniz şekilde gönereceğiniz kişiye atmakla sorumludur. Bunu yaparken binary dosyalarını da destekler. Şimdi kullanıcı her mesaj yazdığında mesajı servera gönderelim. Bunu yaparken Jquey kullanacağımız için sayfamıza jqueyi dahil edelim.




şimdi bu eventi yakalaycak index.js de bi event oluşturalım.

index.js
Kod:
io.on("connection", (socket) => {
    console.log("Biri bağlandı");
    socket.on('chat message', (data) => {
        console.log("Biri mesaj gönderdi: " + data);
    })

    socket.on("disconnect", () => {
        console.log("Biri ayrıldı");
    })
})



Güzel. Şimdi bu gelen mesajı bağlı tüm kullanıcılara atmamız lazım. Soclet.io da tamda işimize yarar bir fonsksyon var. io.emit().

index.js
Kod:
io.on("connection", (socket) => {
    console.log("Biri bağlandı");
    socket.on('chat message', (data) => {
        console.log("Biri mesaj gönderdi: " + data);
        //Bütün herkese bu mesajı gönderelim.
        io.emit('chat message', data);
    })

    socket.on("disconnect", () => {
        console.log("Biri ayrıldı");
    })
})

Şimdi bunu yakalayacak clientde bir fonksyonuzmuz eksik. Hemen yazalım.









___________________________________________

~Cahile gelmez benden hayır

Konu easyly tarafından (27-01-2019 15:55 Saat 15:55 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:05   #2
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
01/2019
Nereden
Ötüken
Yaş
16
Mesajlar
Konular

Teşekkür (Etti): 52
Teşekkür (Aldı): 45




Elinize sağlık hocam adamsınız işime yarayacak
 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:07   #3
  • Üsteğmen
  • Üye Bilgileri
Üyelik tarihi
12/2018
Nereden
Bilinmiyor
Mesajlar
Konular

Teşekkür (Etti): 18
Teşekkür (Aldı): 57




eline emeğine sağlık hocam bunun gibi chat programını visual basic ile yapabiliriz dimi öyle biliyorumda



___________________________________________

Türk olmak zordur.Dünya ile savaşırsın.
Türk olmamak daha zordur.Türk ile savaşırsın.

Software Developer & Cyber Security

 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:10   #4
  • Asteğmen
  • Üye Bilgileri
Üyelik tarihi
12/2018
Nereden
loneliness
Mesajlar
Konular

Teşekkür (Etti): 14
Teşekkür (Aldı): 18




gene harikasın eline sağlık
 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:10   #5
  • Sosyal Medya Timi Asistanı
  • Üye Bilgileri
Üyelik tarihi
01/2016
Mesajlar
Konular

Teşekkür (Etti): 91
Teşekkür (Aldı): 165




Elinize sağlık komutanım, işime yarar.



___________________________________________

 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:14   #6
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
12/2018
Nereden
Turkey
Mesajlar
Konular

Teşekkür (Etti): 17
Teşekkür (Aldı): 25




Eline sağlık komutanım yararlı konu



___________________________________________

Ne Mutlu Türküm diyene

 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:14   #7
  • Üsteğmen
  • Üye Bilgileri
Üyelik tarihi
03/2018
Nereden
Frankfurt
Yaş
18
Mesajlar
Konular

Teşekkür (Etti): 38
Teşekkür (Aldı): 145




Emek Var Baya Eline Sağlık.
 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:40   #8
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
01/2019
Mesajlar
Konular

Teşekkür (Etti): 26
Teşekkür (Aldı): 11




Elinize sağlık güzel çalışma olmuş



___________________________________________

Enigma kulübü

 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:42   #9
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
01/2019
Mesajlar
Konular

Teşekkür (Etti): 1
Teşekkür (Aldı): 47




Bu işler termuxdan oluyor değil mi?



___________________________________________

Sakın Tıklama Bak Uyarıyorum.


Konu Roothaning tarafından (27-01-2019 16:45 Saat 16:45 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt 27-01-2019 16:47   #10
  • AR-GE Tim
  • Üye Bilgileri
Üyelik tarihi
08/2015
Nereden
Phobos/Space
Mesajlar
Konular

Teşekkür (Etti): 306
Teşekkür (Aldı): 407




Alıntı:
Roothaning´isimli üyeden Alıntı Mesajı göster
Bu işler termuxdan oluyor değil mi?
Biraz zorlar ama olur. Sonuçta gerekenler sadece node ve npm



___________________________________________

~Cahile gelmez benden hayır
 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2019

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+
Pomeranian Boo
instagram takipci hilesi

wau