Egy névtelen privát chat által (a kifejezett és), shpirat

Hello mindenkinek! A hosszú idő óta nincs semmi még nem tették közzé, az idő nem volt, nem volt semmi megosztani könnyű. De most minden megváltozott! Nemrég úgy döntött, hogy megpróbálja Node.JS. És az ő szokása akart beszélgetni.

Ennek eredménye egy teljesen működőképes többfelhasználós chat.

Azt kell mondanom, hogy ez még mindig nedves. Akkor kommunikálni, de ez még mindig nag és nag, csak az idő nem nagyon sok van, és nem szükséges, elvileg ez minden. A lényeg az, hogy a chat végzi elsődleges funkciója a chat!

Anonimitás és a magánélet. A szerver nem tárolja a leveleket, még nem naplók nem kerül mentésre. Minden üzenet és egyéb rendezvények (valaki jött, vagy ment a chat) azonnal küldött minden felhasználó a szobában, ahol az események bekövetkeznek. És nem, nem tudja megtekinteni a listát a csatlakoztatott felhasználók. Ugyanez a felhasználó tud csatlakozni különböző szobákban, válasszon egy másik nick a szobában, és senki sem tudja, hogy ez egy és ugyanaz a felhasználó. Ezért a chat nevezhetjük magán- és még névtelen. Anonymous mert ha a kapcsolat nem egy meghatározott személy, és tedd valahová, vagy ha csak valaki, aki rendet a szobaszámot egy sorban, és esik az, hogy nem tudja, hogy milyen ember lesz. De általában csevegés úgy van kialakítva, hogy egy bizonyos személy ad egy linket a szobámba volt szükség rá, hogy az emberek, hogy szeretnék négyszemközt nélkül kíváncsiskodó szemek nélkül megőrzése történelem és naplók. Szerettem volna kötni több és HTTPS szerver is volt a terv, de aztán, amit eldobnak minden ... Különben is, én nem egy normális, bizonyítvány és ha csatlakozunk a böngésző azt mondani, hogy valahogy nem akarja bízni ezen az oldalon.

És ha valaki azt akarja, hogy valaki hallgat, akkor megtalálja a módját, egyébként, és nem chat nem menti ...) Szóval ez már a lelkiismeret minden)

UserList. A jobb listája jelenik meg beszélgetés résztvevői. nick színét a jelenlegi emberi - narancs. A többi kékes színű rá. Jelentéseket, például színezés. Ez valószínűleg történik, amit tenné, hogy vizuálisan megkülönböztetni az üzeneteket a saját sem. A terv az volt: hogy legyen hely a rendszergazda bármelyik gombot a felhasználói lista, hogy ő is dobja ki a nem kívánt felhasználók ki a chat.
Van még egy értesítést a beírással. A bal oldalon a felhasználó becenevet, amely egyre szöveget, ceruza ikon)

BB-kódokat. Támogatása néhány egyszerű BB-kód:
[B] szöveg itt elég vastag [/ b]
[I], majd kihajtható a ferde torony [/ i]
[U] miért? amiért hangsúlyozta a szövegben. [/ U]
[S] nem tudja olvasni ezt a szöveget áthúzott? [/ S]

socket.io
Használt socket.io, amely biztosítja a kommunikációt valós időben.
Nos, természetesen, és egyéb chat szobák valós időben is működik, de a különböző technológiák, mint például frissítése az időmérő, a folyamatos lekérdezéseket külön rejtett keret és más dolog, hogy még mindig több, mint a mankó, és csupán utánzata a valós időben. Azt is használ egy másik technológia a legújabb - WebSocket és csökkenő a böngésző támogatja. Ha a böngésző nem támogatja a WebSocket, akkor még mindig van egy hosszú összevonását-lekérdezéseket, valamint az AJAX, akár Flash-evye aljzat használható. Általában mindent kell vizsgálni, és választották ki a legmegfelelőbb az aktuális böngésző. És meg kell dolgozni mindenhol, a legvalószínűbb. Emellett socket.io kényelmes szállítás esetén átvitel mindkét irányban, az ügyfél és a kiszolgáló és fordítva. És mindez sokkal jobb, mint webillesztőpontok ...) Nos, egyéb technikai adatokat lehet olvasni, és a hivatalos honlapján ezt a dolgot.

Konzol parancsok. Nos ... A név túl hangos sem ...) Ezek a parancsok - ez valami, hogy kezdődik a perjel és meg van írva a beviteli mező üzeneteket. Eddig csak egy csapat, és hogy «/ part». Ha megadja ezt a parancsot, a chat lekapcsolódik a szerverről, és ... mindent. A sötétség láthatatlan, de nem adja meg újra a szobában, vagy válasszon ki vagy hozzon létre egy másik. A! «/ Alert» Van még egy csapat. Ez csak azt mutatja, a szokásos Alert-ablakban a szöveg, amely a második paraméter (írta szóköz). A csapat többi tagja nem lehet tenni, de ez olyan, mintha nincs szükség. Bár ez lehet bármilyen adminisztratív parancsok, mint a tiltás vagy dobjon egy bizonyos felhasználót a chat, vagy ismert IRC parancs «/ me» (uh-huh. És minden bizonnyal még egy IRC, anélkül azonban, hogy az IRC szerver ... 🙂).

Mi az eredmény?
De a végén chatik. Számos különböző elképzelései, amikor elkezdtem csinálni. De akkor tettem fel, hogy egy bizonyos szakaszában a munka és elhagyott. És most úgy döntött, hogy befejezi a cikk kedvéért még érzékenyebb, hogy lehetséges lett volna, hogy ossza meg, hogy hagyja ... 🙂
A szerver mindig fut. Az igazság az, nem tudom, milyen terhelés kibírja ...) Lehet, hogy a kibocsátás után ezt a cikket, és ellenőrizze 🙂

Találkozunk a chat 🙂

Ui Most az archívum a forráskódot. Javítania kell a app.js fájl - ott meghatározott portot.

Azt írja, hogy nem találja goo.gl modul (beszélgető szüksége van rá, hogy megjelenjen a rövid linket az aktuális szoba).

Ennek kiküszöböléséhez telepíteni kell ezt a modult beírja a konzol az aktuális mappában a projekt team:
NPM telepíteni goo.gl

Azt is megteheti, egyszerűen telepíthető (nem az aktuális mappában és világszerte ez a modul) parancsot: NPM telepíteni -g goo.gl

Csak azt akarom, hogy figyelmeztessen, ha ezt chat, akkor is, ha kicsi voltam tisztában a bonyolult, stb sem fájl, amely leírja a csomag és a függőségeit package.json alakult, ezért a legvalószínűbb, hogy akár csak telepíteni a szükséges könyvtárak (mint például az expressz és socket.io) nem fog működni, mert változata van szükség egy kicsit idősebb, mint az is, ami most van.
Mindenesetre - írja. help)

A probléma még? Ha igen, akkor írj nekem a VC (meg kell találni a becenevet, mint a távirat).

Kapcsolódó cikkek