Questa è sicuramente l'era delle comunicazioni istantanee. Tutti si aspettano che tu sia online e disponibile quasi tutto il tempo. Tutti hanno un punto di connessione online che deve essere monitorato e rispettato. Altrimenti, finirai con clienti e amici infelici.
Ti sei chiesto come funzionano questi diversi tipi di notifiche e come puoi fare da te. In questo tutorial, ti farò conoscere il fantastico mondo delle notifiche e come puoi farlo da solo.
Questo tutorial è diviso in due parti e insegnerà:
In questa, la prima parte del tutorial, ti mostrerò la teoria e i metodi alla base delle notifiche attive.
Non tutte le notifiche sono uguali. Ad esempio, se hai un programma che ti dice di un nuovo Facebook notifica, hai un votazione programma che punterà il Facebook server periodicamente per vedere se hai qualcosa di nuovo.
Se hai Dropbox su un server con un programma che fa uso di web-ganci, allora hai un diretto sistema di notifica per notificare al server un cambiamento nel Dropbox file system.
votazione i sistemi sono i più facili da configurare, ma richiedono un codice più complicato sul server per memorizzare le notifiche. Spetta al computer dell'utente eseguire un programma che interrogherà periodicamente il server web. Ciò, tuttavia, significa che la frequenza del polling determina la latenza della notifica. Pertanto, se il programma di polling verifica una volta all'ora, il ritardo del contatto nel caso peggiore sarà di un'ora. Se la frequenza di polling è troppo veloce, imperverserai nel sistema. Soprattutto se hai molti di questi programmi.
Diretto i sistemi dicono al server come contattarti una volta stabilita una connessione di rete. Quando arriva una notifica, il server contatterà direttamente il computer. Nessun tempo perso nel polling, ma contattare il sistema può essere problematico. Diretto le notifiche sono difficili da mantenere a causa di dispositivi di protezione su Internet.
In questo tutorial, ti mostrerò il Diretto o Attivo opzioni di notifica. Ti mostrerò anche i possibili problemi e come aggirarli.
Ogni computer che si trova su Internet ha un numero identificativo univoco chiamato a indirizzo IP. Perché un computer possa connettersi a un altro, deve ottenere il suo indirizzo IP. In genere, si utilizzerà a Domain Name Server (DNS) per ottenere il indirizzo IP da un nome server univoco.
Esempio di ricerca del nomeAd esempio, per contattare il mio sito Web, il mio computer contatta il Server DNS tradurre customct.com al suo indirizzo IP di 162.248.101.154. Il mio computer ha ricevuto l'indirizzo IP di Server DNS quando si connette al Fornitore di servizi Internet o ISP. Il Server DNS conosce l'indirizzo IP del computer che richiede informazioni dalla richiesta. Il Server DNS quindi restituisce l'IP del server web che corrisponde al nome.
Dopo aver configurato un server Web su Internet, ricevono un indirizzo IP statico univoco che non cambierà per la maggior parte della vita del server. Il browser web sul mio computer contatta quell'indirizzo IP per i contenuti del mio sito web. In questo modo un computer può direttamente contattare un altro computer su Internet.
Il problema con questo metodo di contatto è che non tutti i computer su Internet hanno un nome associato. Il tuo computer di casa ha solo un indirizzo IP, e non un nome che nessuno Server DNS lo saprei.
Per rendere le cose ancora più difficili, ogni volta che un computer si connette e si disconnette da Internet, viene assegnato dinamicamente un indirizzo IP. Ogni ISP ha un gruppo o pool di indirizzi IP che può dare ai propri clienti, ma il cliente utilizza solo quell'IP mentre è connesso. La prossima volta che ti connetti, molto probabilmente il tuo computer avrà un indirizzo IP diverso.
Un modo per un server di sapere come contattare un computer è iscriversi a DNS dinamico servizio o DDNS. In genere, si ottiene un nome che è un sottodominio di loro DNS nome.
Ogni volta che un utente ha bisogno dell'indirizzo IP del computer, contatterà il DDNS servizio per il tuo attuale IP. Quindi esegui un programma sul tuo computer che aggiorna il DDNS servizio periodicamente o ogni volta che l'IP cambia.
Uno di questi è Dynu Systems. Quando ti registri al loro servizio, ti danno un omaggio DNS nome per il tuo computer che è un sottodominio del loro nome di dominio principale. Ad esempio, ho creato un account per customct sopra Dynu Systems' gratuito DNS.
Il nome per il mio computer è customct.freeddns.org. Sulla riga di comando, posso digitare:
nslookup customct.freeddns.org
per ricevere l'output di:
Server: 8.8.8.8 Indirizzo: 8.8.8.8 # 53 Risposta non autorevole: Nome: customct.freeddns.org Indirizzo: 110.77.204.21
Il nslookup comando è un programma a riga di comando per eseguire a DNS cercare un nome per ottenere il IP indirizzo associato al nome. In questo esempio, nslookup interrogato il DNS server a 8.8.8.8, che è il DNS pubblico di Google. Il Google Public DNS poi ha interrogato il DDNS fornitore. Il DDNS fornitore ha dato l'indirizzo di 110.77.204.21, quale era l'ultimo IP valido fornito per quel sistema.
Ora, il primo tentativo che ho condotto per contattare il mio sistema di casa da un server, è rimasto lì senza che il mio sistema avesse mai ricevuto una notifica. Usando traceroute, un'utilità da riga di comando su sistemi Linux e Mac, sul server, ho trovato che l'avviso si fermava sul router locale a casa mia.
Il mio fornitore di servizi Internet fornisce un router mascherato, a casa mia, che nasconde tutti i computer di casa con un indirizzo IP diverso. Una volta ricevute le credenziali di accesso per il router, sono stato in grado di risolvere il problema.
Dovrai aprire la schermata di amministrazione del router nel browser Web per l'installazione di a DMZ zona. DMZ sta per Zona demilitarizzata: un termine militare che significa che l'area o la zona non è protetta. Hai impostato il computer IP locale indirizzo al Indirizzo IP di destinazione.
Dal momento che ogni router di casa è diverso, non posso mostrare tutte le configurazioni possibili. Sopra, sto mostrando un Linksys E1200 router impostato per posizionare il computer all'indirizzo IP locale 192.168.1.111 in DMZ zona. Quel computer ora riceverà tutto il traffico diretto al router che non è gestito da altri percorsi.
Stai molto attento perché quel computer non è protetto dagli hacker su Internet.
Ho configurato il router per dare sempre al mio computer lo stesso indirizzo IP. In questo modo, il mio sistema è sempre in DMZ zona. Una volta che il mio computer era nel DMZ zona, le notifiche sono arrivate bene.
Dovrai ottenere le informazioni di accesso per il router locale dal tuo ISP o dal manuale di istruzioni per il router se hai configurato tu stesso il sistema.
Se il sistema per ricevere notifiche si trova su una rete cellulare o Wi-Fi pubblico, potrebbe non funzionare altrettanto bene. Molte reti di cellulari e tutte le reti Wi-Fi pubbliche non consentono ai sistemi di ricevere informazioni provenienti da Internet. In tal caso, questo tipo di sistema di notifica non funzionerà mai e dovrai memorizzare le notifiche sul server e scaricarle periodicamente sul tuo computer locale.
Ora che capisci come funzionano le notifiche e i potenziali problemi, ti mostrerò come applicare questa teoria a un sistema reale. Mostrerò come creare un Node.js server che notificherà a un computer di casa utilizzando a DDNS servizio e una connessione diretta. Il server contatterà Maestro della tastieraIl server di esecuzione macro pubblica per rispondere alla richiesta.