Sätt att få aktiva meddelanden till en Mac-teori

Detta är definitivt åldern för omedelbar kommunikation. Alla förväntar sig att du är online och tillgänglig nästan hela tiden. Alla har en online-anslutningspunkt som behöver övervakas och respekteras. Annars hamnar du med olyckliga kunder och vänner.

Har du undrat hur dessa olika typer av anmälningar fungerar och hur kan du göra din egen. I denna handledning kommer jag att presentera dig för den fantastiska världen av meddelanden och hur du kan göra det själv. 

Denna handledning finns i två delar och kommer att undervisa:

  1. teorin och metoderna bakom aktiva anmälningar
  2. teorin i ett verkligt webbserver exempel

Teorin och metoderna bakom aktiva meddelanden

I den här första delen av handledningen visar jag teorin och metoderna bakom aktiva meddelanden.

Typer av meddelanden

Alla meddelanden är inte samma. Till exempel om du har ett program som berättar om ett nytt Facebook meddelande, du har en polling program som kommer att undersöka Facebook server regelbundet för att se om du har något nytt. 

Om du har Dropbox på en server med ett program som använder sig av web-hooks, då har du en direkt meddelande system för att meddela servern av en ändring i Dropbox filsystem.

Polling System är enklaste att installera, men kräver mer komplicerad kod på servern för att lagra meddelanden. Det är upp till användarens dator att köra ett program som regelbundet kommer att fråga webbservern. Det betyder emellertid att pollingfrekvensen bestämmer anmälningsfördröjningen. Om vallningsprogrammet kontrollerar en gång i timmen, kommer det väsentliga kontaktfördröjandet att vara en timme. Om pollningsfrekvensen är för snabb, kommer du att mossa ner systemet. Särskilt om du har många sådana program.

Direkt system berätta för servern hur du kontaktar dig när en nätverksanslutning har upprättats. När en meddelande kommer kommer servern att kontakta datorn direkt. Ingen bortkastad tid vid avfrågning, men kontakta systemet kan vara problematisk. Direkt anmälningar är svåra att behålla på grund av skyddsutrustning på internet.

I denna handledning visar jag dig Direkt eller Aktiva anmälningsalternativ. Jag kommer också att visa dig de möjliga problemen och hur man tar sig runt dem.

Metod för att göra kontakt

Varje dator som finns på Internet har ett unikt identifieringsnummer som heter en IP-adress. För att en dator ska kunna ansluta till en annan måste den hämta sin IP-adress. Vanligtvis skulle du använda en Domännamnsserver (DNS) för att erhålla IP-adress från ett unikt servernamn.

Namnsökningsexempel

Till exempel, för att kontakta min hemsida, kontaktar min dator DNS-server att översätta customct.com till dess IP-adress för 162.248.101.154. Min dator fick IP-adressen till DNS-server när den ansluter till Internetleverantör eller ISP. De DNS-server känner till IP-adressen för den dator som begär information från begäran. De DNS-server returnerar sedan IP-adressen till webbservern som matchar namnet. 

Vid inrättandet av en webbserver på Internet får de en unik statisk IP-adress som inte kommer att förändras under det mesta av serverns liv. Webbläsaren på min dator kontakter den IP-adressen för innehållet på min webbplats. Så här kan en dator direkt kontakta en annan dator på internet.

Problemet med den här metoden att kontakta är att inte varje dator på Internet har ett namn i samband med det. Din hemdator har bara en IP-adress, och inte ett namn som någon DNS-server skulle veta om.

För att göra saker ännu hårdare, varje gång en dator ansluter och kopplar från internet, tilldelas den dynamiskt en IP-adress. Varje ISP har en grupp eller en grupp IP-adresser som den kan ge ut till sina kunder, men kunden använder endast den IP när den är ansluten. Nästa gång du ansluter kommer din dator sannolikt att få en annan IP-adress.

Dynamiska DNS-servrar

Ett sätt för en server att veta hur man kontaktar en dator är att prenumerera på en Dynamisk DNS service eller DDNS. Vanligtvis får du ett namn som är en underdomän av deras DNS namn.

När en användare behöver datorns IP-adress kommer de att kontakta DDNS service för din nuvarande IP. Du kör sedan ett program på din dator som uppdaterar DDNS service regelbundet eller när IP ändras.

En sådan tjänst är Dynu Systems. När du registrerar dig med sin tjänst, ger de dig en gratis DNS namn på din dator som är en underdomän av deras huvuddomännamn. Till exempel skapade jag ett konto för customctDynu Systems' fri DNS

Namnet på min dator är customct.freeddns.org. På kommandoraden kan jag skriva:

nslookup customct.freeddns.org

att få utdata från:

Server: 8.8.8.8 Adress: 8.8.8.8 # 53 Ej auktoritativt svar: Namn: customct.freeddns.org Adress: 110.77.204.21

De nslookup kommandot är ett kommandoradsprogram för att utföra a DNS titta på ett namn för att få IP adress som är associerad med namnet. I detta exempel, nslookup frågade DNS server på 8.8.8.8, vilket är Google Public DNS. De Google Public DNS frågade sedan DDNS leverantören. De DDNS leverantören gav adressen till 110.77.204.21, vilket var den sista giltiga IP-adressen för det systemet.

Problem med att kontakta ett hemsystem

Nu, det första försöket jag utförde för att kontakta mitt hemsystem från en server, satt bara där utan att mitt system någonsin skulle få ett meddelande. Genom att använda traceroute, ett kommandoradsverktyg på Linux och Mac-system, på servern, fann jag att meddelandet stoppades vid den lokala routern i mitt hem. 

Min Internetleverantör levererar en masquerad router, i mitt hus, som förkläder alla datorer i mitt hus med en annan IP-adress. När jag fick inloggningsuppgifterna för routern kunde jag åtgärda problemet.

Linksys Router Administration Skärm

Du måste öppna routerns administrationsskärm i webbläsaren till inställningen för a DMZ zon. DMZ står för DeMilitarized Zone: en militär term som betyder att området eller zonen inte är skyddad. Du ställer in datorns Lokal IP adress till Destination: IP-adress.

Eftersom varje hemrouter är annorlunda kan jag inte visa alla möjliga konfigurationer. Ovan visar jag en Linksys E1200 router inställd för att placera datorn på den lokala IP-adressen 192.168.1.111 i DMZ zon. Den datorn kommer nu att få all trafik riktad till routern som inte hanteras av andra vägar. 

Var försiktig eftersom datorn inte skyddas mot hackare på internet.

Jag installerar routern för att alltid ge min dator samma IP-adress. På så sätt är mitt system alltid i DMZ zon. När min dator var i DMZ zon, anmälningarna kom igenom bra. 

Du måste få inloggningsinformationen för den lokala routern från din ISP eller i bruksanvisningen för routern om du själv installerar systemet.

Om systemet för att ta emot meddelanden finns på ett mobilnät eller offentligt Wi-Fi kan det inte fungera lika bra. Många mobilnät och alla offentliga Wi-Fi-nätverk tillåter inte att system tar emot information från internet. I så fall kommer denna typ av anmälningssystem aldrig att fungera och du måste lagra meddelandena på servern och hämta dem regelbundet till din lokala dator.

Slutsats

Nu när du förstår hur meddelanden fungerar och de potentiella problemen kommer jag att visa dig hur man tillämpar denna teori på ett verkligt system. Jag ska visa hur man skapar en Node.js server som meddelar en hemdator genom att använda en DDNS service och en direkt anslutning. Servern kommer att kontakta Keyboard Maestros offentliga makroexekveringsserver för att svara på begäran.