Manieren om actieve meldingen naar een Mac-theorie te krijgen

Dit is absoluut het tijdperk van directe communicatie. Iedereen verwacht dat je bijna altijd online en beschikbaar bent. Iedereen heeft een online verbindingspunt dat moet worden gecontroleerd en gerespecteerd. Anders krijg je ongelukkige klanten en vrienden.

Heb je je afgevraagd hoe deze verschillende soorten meldingen werken en hoe kun je dat zelf doen? In deze tutorial zal ik je kennis laten maken met de wondere wereld van meldingen en hoe je het zelf kunt doen. 

Deze tutorial bestaat uit twee delen en leert:

  1. de theorie en methoden achter actieve meldingen
  2. de theorie in een echt webservervoorbeeld

De theorie en methoden achter actieve meldingen

Hierin, het eerste deel van de tutorial, zal ik je de theorie en methoden achter actieve meldingen laten zien.

Typen meldingen

Niet alle meldingen zijn hetzelfde. Bijvoorbeeld als u een programma heeft dat u over een nieuw vertelt Facebook melding, je hebt een stemming programma dat de. zal pollen Facebook server periodiek om te zien of u iets nieuws hebt. 

Als je hebt Dropbox op een server met een programma dat gebruikt maakt van web-haken, dan heb je een direct meldingssysteem om de server op de hoogte te brengen van een wijziging in de Dropbox bestandssysteem.

stemming systemen zijn het gemakkelijkst in te stellen, maar vereisen meer gecompliceerde code op de server om meldingen op te slaan. Het is aan de computer van de gebruiker om een ​​programma uit te voeren dat periodiek naar de webserver vraagt. Dat betekent echter dat de frequentie van polling de latentie van meldingen bepaalt. Als het polling-programma één keer per uur controleert, is de contactvertraging in het ergste geval dus één uur. Als de navraagfrequentie te snel is, spoelt u door het systeem. Vooral als je veel van dergelijke programma's hebt.

direct systemen vertellen de server hoe contact met u op te nemen zodra een netwerkverbinding tot stand is gebracht. Wanneer een melding wordt ontvangen, neemt de server rechtstreeks contact op met de computer. Geen verspilde tijd in polling, maar contact opnemen met het systeem kan problematisch zijn. direct Meldingen zijn moeilijk te onderhouden vanwege beschermende uitrusting op internet.

In deze zelfstudie laat ik je de direct of Actief kennisgevingsopties. Ik zal je ook de mogelijke problemen laten zien en hoe je ze kunt omzeilen.

Methode om contact te maken

Elke computer die op internet staat heeft een uniek identificatienummer, een IP adres. Om de ene computer met een andere te verbinden, moet deze het IP-adres verkrijgen. Meestal gebruikt u een Domain Name Server (DNS) om de IP adres van een unieke servernaam.

Naam opzoeken Voorbeeld

Als u bijvoorbeeld contact wilt opnemen met mijn website, neemt mijn computer contact op met de DNS server vertalen customct.com naar het IP-adres van 162.248.101.154. Mijn computer ontving het IP-adres van de DNS server wanneer het verbinding maakt met de Internetprovider of ISP. De DNS server kent het IP-adres van de computer die om informatie vraagt ​​van het verzoek. De DNS server retourneert vervolgens het IP-adres van de webserver dat overeenkomt met de naam. 

Bij het opzetten van een webserver op internet ontvangen ze een uniek statisch IP-adres dat gedurende het grootste deel van de levensduur van de server niet zal veranderen. De webbrowser op mijn computer neemt contact op met dat IP-adres voor de inhoud van mijn website. Op deze manier kan een computer rechtstreeks contact maken met een andere computer op internet.

Het probleem met deze methode van contact opnemen is dat niet elke computer op het internet een naam heeft die ermee is geassocieerd. Uw thuiscomputer heeft alleen een IP-adres en geen naam DNS server zou weten.

Om het nog moeilijker te maken, elke keer dat een computer verbinding maakt en de verbinding met internet verbreekt, wordt er dynamisch een IP-adres aan toegewezen. Elk ISP heeft een groep of pool van IP-adressen die het aan zijn klanten kan geven, maar de klant gebruikt dat IP-adres alleen wanneer hij is verbonden. De volgende keer dat u verbinding maakt, krijgt uw computer hoogstwaarschijnlijk een ander IP-adres.

Dynamische DNS-servers

Een manier voor een server om te weten hoe contact te maken met een computer, is door zich te abonneren op a Dynamische DNS service of DDNS. Meestal krijgt u een naam die een subdomein van hun is DNS naam.

Wanneer een gebruiker het IP-adres van de computer nodig heeft, neemt hij contact op met de DDNS service voor uw huidige IP. Vervolgens voert u een programma uit op uw computer dat het DDNS service periodiek of wanneer het IP-adres verandert.

Een dergelijke service is Dynu Systems. Wanneer u zich registreert bij hun service, geven ze u een gratis DNS naam voor uw computer, dat is een subdomein van hun hoofddomeinnaam. Ik heb bijvoorbeeld een account voor gemaakt customct op Dynu Systems'gratis DNS

De naam voor mijn computer is customct.freeddns.org. Op de opdrachtregel kan ik typen:

nslookup customct.freeddns.org

om de output te ontvangen van:

Server: 8.8.8.8 Adres: 8.8.8.8 # 53 Niet-bindend antwoord: Naam: customct.freeddns.org Adres: 110.77.204.21

De nslookup opdracht is een opdrachtregelprogramma voor het uitvoeren van een DNS opzoeken op een naam om de IK P adres dat is gekoppeld aan de naam. In dit voorbeeld, nslookup vroeg de DNS server op 8.8.8.8, wat de Google Public DNS is. De Google Public DNS dan ondervraagd de DDNS provider. De DDNS provider gaf het adres van 110.77.204.21, dat was de laatst gegeven geldige IP voor dat systeem.

Problemen met het opnemen van een thuissysteem

Nu, de eerste poging die ik deed om contact te maken met mijn thuissysteem vanaf een server, het zat daar gewoon zonder dat mijn systeem ooit een melding kreeg. Door traceroute, een commandoregelhulpprogramma op Linux- en Mac-systemen, op de server te gebruiken, merkte ik dat de melding bij mijn lokale router stopte. 

Mijn internetserviceprovider levert in mijn huis een vermomde router die alle computers in mijn huis met een ander IP-adres camoufleert. Nadat ik de inloggegevens voor de router had ontvangen, kon ik het probleem verhelpen.

Linksys Router Administration-scherm

U moet het beheerdersscherm van de router in de webbrowser openen naar de setup voor a DMZ zone. DMZ betekent Gedemilitariseerde zone: een militaire term betekent dat het gebied of de zone niet is beschermd. U stelt de computer in Lokaal IP adres aan de Bestemming IP Adres.

Omdat elke thuisrouter anders is, kan ik onmogelijk alle mogelijke configuraties weergeven. Hierboven laat ik een zien Linksys E1200 router ingesteld om de computer te plaatsen op het lokale IP-adres 192.168.1.111 in de DMZ zone. Die computer ontvangt nu al het verkeer naar de router dat niet door andere routes wordt afgehandeld. 

Wees voorzichtig, want die computer is niet beschermd tegen hackers op internet.

Ik heb de router ingesteld om mijn computer altijd hetzelfde IP-adres te geven. Op die manier zit mijn systeem altijd in de DMZ zone. Zodra mijn computer in de DMZ zone, de meldingen kwamen goed. 

Je moet de inloggegevens voor de lokale router van je ISP of de handleiding van de router krijgen als je het systeem zelf instelt.

Als het systeem om meldingen te ontvangen zich op een mobiel netwerk of op openbare Wi-Fi bevindt, werkt het mogelijk niet zo goed. Veel mobiele telefoonnetwerken en alle openbare Wi-Fi-netwerken staan ​​niet toe dat systemen informatie ontvangen die afkomstig is van internet. In dat geval zal dit type meldingssysteem nooit werken en moet u de meldingen op de server opslaan en periodiek downloaden naar uw lokale computer.

Conclusie

Nu u begrijpt hoe meldingen werken en wat de mogelijke problemen zijn, zal ik u laten zien hoe u deze theorie op een echt systeem kunt toepassen. Ik zal laten zien hoe je een kunt maken Node.js server die een thuiscomputer op de hoogte brengt door a te gebruiken DDNS service en een directe verbinding. De server neemt contact met u op Keyboard Maestrode openbare macro-uitvoerende server om op het verzoek te reageren.