Nodejs Server Port Kurma, sonrasında veri gönderme, veri alma ve port nasıl Dinlenir?

1) Server tarafını dinlemek için server.js adında javascript dosyası açıyoruz

Nodejs Npm hazır kodlanmış olan Mosca adında bir paket var onu kuruyoruz.

		https://www.npmjs.com/package/mosca
		npm install mosca --save
	

Ben nodejs tarafında mosca paketini seçtim siz başka server kurma paketi kullanabilirsiniz

Server.js dosyamızda çalışacak javascript kodlarını yazarak kaydedelim

		var mosca = require('mosca');//Moska modülünü çagıriyoruz

		var settings = {//Dinleyecegımiz portu belirliyoruz
		  port: 1883,
		  http: { port:3000 }
		};

		var server = new mosca.Server(settings);//Servere kurmak için ayağa kaldırdık

		//Kurduğumuz servera clientler girdimi yakalıyoruz
		server.on('clientConnected', function(client) {
		    console.log('client connected', client.id);
		});

		//Çıkış yaptığını algılıyoruz
		server.on('clientDisconnected', function(client) {
		    console.log('client disconnected', client.id);
		});

		// mesajlaşma veri gonderme alma
		server.on('published', function(packet, client) {
		  console.log('Published', packet.payload.toString());
		});

		server.on('ready', setup);

		// fired when the mqtt server is ready
		function setup() {
		  console.log('Mosca server is up and running');
		}
	

Terminalden server.js dosyamızı çalıştıralım ve server'ımız ayağa kalksın.

		npm start //nodemen ve package kurup düzenlediyseniz
		npx nodemon server.js //nodemon kurduysanız
		node server.js 
	

2) kullanıcıları dinleme için client tarafı yani client.js adında javascript dosyası açıyoruz

 

	//Terminalden kurma komutu
	npm i mqtt --save

Kurma işlemi tamamsa client.js dosyamıza şu javascript kodlarını yazalım.

	var mqtt = require('mqtt');
	var client = mqtt.connect('mqtt://127.0.0.1:1883');

	client.subscribe('new-user');
	client.subscribe('led');//led butonların aboneliği

	//new-user kanalına Bağlanarak puplish olanlara veri gonderiyoruz
	client.on('connect', function() {
		console.log('connected!');

	  client.publish('new-user', 'İsmail-' + Math.ceil(Math.random() * 10));
	});

3) url adresinde kullanmak için index.html dosyası oluşturalım.

komut satırına open index.html yazarsak chromeda acılır.

			mqtt.js dosyası githup reposu https://github.com/mqttjs/MQTT.js
			mqtt.js dosya linki https://unpkg.com/[email protected]/dist/mqtt.min.js
		

index.html dosyamızda

			
			console.log(mqtt);//Consolden degerleri goruyorsak
		

server.js dosyamızda.

			//settings içinde
			port: 1883, http: { port:3000 }
		

web sockete cli ve html olarak bağlanma.

			//nodejs cli bağlanma komutu:
				wscat -c ws://localhost:3000
			//index.html javascript kodları
				var client = mqtt.connect('ws://localhost:3000');
				client.subscribe('new-user');

				client.on('connect', function() {
					console.log('connected!');

					client.publish('new-user', 'From Browser Client');
				});

				// Yeni mesaj geldiğinde bilgilenmemizi sağlıyor
				client.on('message', function(topic, message) {
					console.log(topic, ' : ', message.toString());
				});

				//butonlardan gelen veriyi servera iletme
				function led(value) {//Butonlara tıklandiğı içindeki verileri client ve servera gonderdik
					//alert(value);
					client.publish('led', value);
				}
		

Server'ı kurup işlemleri tamamladıysak ve portu dinleyip, verileri gönderip, okuyabiliyorsanız güzel sonuçlar elde etmişsiniz demektir. Resimde terminalden server.js, index.html browserında consol içinde değerleri görebilirsiniz.

 

Canlı demo için -> Tıklayın!

Ayrıca sorunlar alıyorsanız, Yada kullanım kolaylaması için faydalı eklentiler kullanımı için aşarıda Notları paylaşıyorum.

Nodemon kurulum

- npm uninstall nodemon (Siliyoruz)
- sudo npm uninstall -g nodemon (Bilgisayardan komple siliyoruz)
+ sudo npm install -g --force nodemon (Kuruyoruz)
(Kullanım komutu: npx nodemon dosyaadi.js )

package.json kurma nodemon ile sürekli çalışır npm start komutu ile kullanabilirsiniz
- package.json dosyasında "scripts" içine start parametresi belirtiyoruz.
- start komutu şoyle olmalı "start": "npx nodemon server.js"
Artık npx nodemon server.js çalıştırmak için npm start dememiz yeterli olacaktır.

Eğer şu hatayı alırsak jsonschema/lib/validator.js:107 throw new SchemaError
- npm uninstall jsonschema (Komutu ile silelim ve manuel olarak 1.2.6 kuralım)
- npm install [email protected] --save (Komutu ile manuel [email protected] kuralım)
wscat -c kurulumu ve kullanımı
- Kurulum komutu: sudo npm install -g wscat
- Kullanım komutu: wscat -c ws://localhost:3000
-- Sonuç connected donerse başarilı: Connected (press CTRL+C to quit)

Görüş Hata Bildir

Güvenlik Kodunuz:

Yorum Yap

Yorum kodunuz:

0.0397