Լավ օր!
Ես կցանկանայի համայնքի հետ կիսվել ինքնավար ապակենտրոնացված էլ. փոստի ստեղծման վերաբերյալ որոշ հետաքրքիր մտքերով և գործնականում ցուցադրել արդեն իսկ գոյություն ունեցող մեկ իրականացման աշխատանքը։
Սկզբում «Տելեգրաֆը» մշակվել է որպես մեր փոքրիկ ուսանողական համայնքի անդամների միջև հաղորդակցման սիրողական միջոց, ովքեր այս կամ այն կերպ իրենց գործունեությունը նվիրել էին համակարգչային տեխնոլոգիաներին և հաղորդակցությանը։
Nota Bene«Հեռագիրը» հաղորդակցման սիրողական միջոց է. արդյունաբերական մասշտաբով գործնական օգուտներ քաղելը բավականին խնդրահարույց է թվում, բայց այս խնդիրը դժվար թե կարելի է որևէ չափով նշանակալի համարել. մենք մեր հիմնական նպատակը համարում ենք այս տեսակի հաղորդակցման համակարգի զարգացման վրա անմիջականորեն ուշադրություն գրավելը։
Մենք հակված ենք կարծելու, որ տարբեր կապի համակարգերի զարգացման նկատմամբ ընդհանուր հետաքրքրության աճը անհրաժեշտ և բավականին կարևոր հարց է, քանի որ այդ համակարգերի աշխատանքի հիմնարար սկզբունքների և դրանց հիմքում ընկածի ըմբռնումը քաղաքացիների տեղեկատվական անվտանգության հարցերի վերաբերյալ իրազեկվածության բարձրացման հիմնական բանալին է։

Ախտունգ!Հնարավոր թյուրըմբռնումներից խուսափելու համար՝ որոշ դեպքերում պատկերները կարելի է գլորել։

Համակարգը հիմնված է կամավորների և մաքուր ոգևորության վրա. մեզ պարզապես դուր է գալիս այն, ինչ անում ենք: Կարող եք դա համարել հոբբի, և չեք սխալվի. չէ՞ որ դեռևս կան թղթային նամակագրության միջոցով հաղորդակցության սիրահարներ. «Telegraph»-ը շատ դեպքերում կարելի է դիտարկել որպես սովորական փոստի սկզբունքների թվային իրականացում:
«Տելեգրաֆը» էլեկտրոնային փոստի ինքնավար անալոգ է, որը թույլ է տալիս պարզ տեքստային հաղորդագրություններ փոխանցել առանց ինտերնետ օգտագործելու: «Տելեգրաֆը» որոշ չափով կարելի է դասակարգել որպես — տեղեկատվություն փոխանակելու միջոց՝ առանց ցանց օգտագործելու։
Ֆլեշ կրիչները օգտագործվում են որպես փոստարկղեր, իսկ տերմինալները՝ էլեկտրոնային նամակագրություն ստանալու և փոխանցելու եզակի մուտքի կետեր հանդիսացող համակարգիչները՝ որպես փոստային բաժանմունքներ։
Եկեք դիտարկենք համակարգի հետ փոխազդեցության ամենապարզ օրինակը։ Մենք ունենք երկու ֆլեշ կրիչ և մեկ տերմինալ։ Սկրիպտն ինքնին պարունակում է համակարգի հետ հետագա փոխազդեցության համար անհրաժեշտ գլոբալ փոփոխականները՝ տերմինալի համարը, արմատ տանող ուղին և այլն։
Եթե մենք միացնենք շարժական սկավառակ տերմինալին և գործարկենք սկրիպտը, այն կփորձի ստանալ ելքային հաղորդագրություններ գրացուցակից։ /mnt/Telegraph/Outbox և փոխանցեք դրանք ձեր հիշողությանը, այնուհետև ստուգեք ձեր հիշողության մեջ առկա նոր հաղորդագրությունները ընթացիկ օգտատիրոջ համար։ Եթե կան, գրեք դրանք /mnt/Telegraph/Inbox.
Նոր սարքերի գրանցում
Սա տեղի է ունենում բավականին ընթացակարգային ձևով։ Սկրիպտը գտնում է համակարգին միացված նոր ֆլեշ կրիչները և փորձում է համապատասխանեցնել դրանց եզակի նույնականացուցիչները root-ում ներկայացվածների հետ։ Եթե սարքերը նախկինում չեն գրանցվել, դրանք կձևաչափվեն Telegraf-ի կողմից սահմանված կանոններին համապատասխան։
Նոր սարքը գրանցելուց հետո, root կառուցվածքը ստանում է հետևյալ տեսքը՝
Կազմաձևման ֆայլում config.ini, որը գտնվում է ֆլեշ կրիչի արմատում, պարունակում է համակարգի տեղեկատվություն՝ եզակի նույնականացուցիչ և գաղտնի բանալի։
Տվեք ժողովրդին մի քիչ ռոմ։
Ոչ, լուրջ եմ ասում, լուրջ եմ ասում։ Դուք կարող եք ստանալ սկզբնական կոդը։ , և ժամանակն է, որ մենք աստիճանաբար տեսությունից անցնենք պրակտիկայի։
Բայց ես պետք է մի քանի խոսք ասեմ այն մասին, թե ինչպես է հաղորդագրությունների համակարգը գործնականում գործում։
Նախ, եկեք պարզենք, թե ինչից է բաղկացած տասնմեկանիշ եզակի նույնականացուցիչը։ Օրինակ՝ 10455000001.
Առաջին թվանշանը, 1, պատասխանատու է երկրի համարի համար։ Միջազգային կոդն է՝ 0, այս դեպքում Ռուսաստանը 1.
Հաջորդը չորս թվանշաններն են, որոնք համապատասխանում են այն տարածաշրջանի համարին, որտեղ գտնվում է տերմինալը։ 0455 - սա Կոլոմենսկի քաղաքային շրջանն է։
Դրանց հաջորդում են երկու թիվ՝ 00, - ուղղակիորեն պատասխանատու է տերմինալի համարի համար։
Եվ միայն դրանից հետո՝ չորս թվանշան, որոնք այս տերմինալին հատկացված օգտատիրոջ սերիական համարն են։ Մեզ համար դա՝ 0001Կա նաև 0000 — այս համարը ուղղակիորեն պատկանում է տերմինալին։ Դուք չեք կարող գրավոր նամակագրություն ուղարկել դրան, բայց տերմինալն ինքն է օգտագործում այս համարը՝ օգտատերերին ծառայողական հաղորդագրություններ ուղարկելու համար։ Օրինակ, եթե հաղորդագրությունը որևէ պատճառով չի կարող առաքվել։
Մեր «փոստարկղի» հիմքում կան երկու տեղեկատուներ, որոնք անհրաժեշտ են տեքստային հաղորդագրություններ ստանալու և ուղարկելու համար: Սարքը տերմինալին միացնելիս ելքային հաղորդագրությունները սերվերին են ուղարկվում «Ելքային» տեղեկատուից, իսկ մուտքային հաղորդագրությունները բեռնվում են «Ներդրվող» տեղեկատու, ինչը տրամաբանական է:
Յուրաքանչյուր ֆայլ, կախված գրացուցակից, անվանակոչվում է ստացողի կամ ուղարկողի համարով։
Եթե փորձենք հաղորդագրություն ուղարկել գոյություն չունեցող ստացողի, տերմինալը մեզ կուղարկի սխալի հաղորդագրություն։
Սակայն, եթե մենք որոշենք նամակ ուղարկել մեկ այլ տերմինալում գտնվող հասցեատիրոջ (անկախ նրանից՝ այն գոյություն ունի, թե ոչ), այն կգրանցվի տերմինալի հիշողության մեջ մինչև գործակալը գրավոր նամակագրությունը մեր տերմինալից փոխանցի իր տերմինալ։
Երբ մասնաճյուղի գործակալը 10500000000 (այլ կերպ ասած՝ փոստատարը) իր սարքը կմիացնի մեր տերմինալին, ուղարկված նամակները կփոխանցվեն նրա պահեստային սարքին։ Հետագայում, երբ նա իր սարքը միացնի տերմինալին, այդ նամակները կպահվեն տերմինալի հիշողության մեջ և կսպասի, որ ստացողը դրանք վերբեռնի իր ֆլեշ կրիչի վրա։
Հաղորդակցության նիստ
Եկեք փորձենք ուղարկել «Բարև» տեքստով հաղորդագրություն 10455000001 к 10455000002.
Այսքանը!
Ես կգնահատեի նախագծի սկզբնական կոդի և հոդվածի վերաբերյալ ցանկացած քննադատություն։
Շնորհակալություն ուշադրության համար։
Source: www.habr.com
