روز خوب!
من مایلم در مورد ایجاد یک ایمیل غیرمتمرکز مستقل با جامعه به اشتراک بگذارم و نشان دهم که یک پیاده سازی موجود در عمل چگونه کار می کند.
در ابتدا، "تلگراف" به عنوان یک وسیله ارتباط آماتور بین اعضای جامعه دانشجویی کوچک ما توسعه یافت، که به نوعی فعالیت های خود را به فناوری رایانه و ارتباطات اختصاص داد.
NOTA بنه: «تلگراف» یک وسیله ارتباطی آماتور است. به نظر می رسد به دست آوردن مزایای عملی در مقیاس صنعتی کاملاً مشکل ساز باشد، اما به سختی می توان این مشکل را تا حدی قابل توجه نامید - ما هدف اصلی خود را جلب توجه مستقیم به توسعه این نوع سیستم های ارتباطی می دانیم.
ما تمایل داریم که بر این باور باشیم که افزایش علاقه عمومی به توسعه سیستمهای ارتباطی مختلف ضروری و کاملاً مهم است، زیرا درک اصول اساسی نحوه عملکرد این سیستمها و اینکه آنها بر چه پایهای هستند، کلید اصلی افزایش آگاهی شهروندان از امنیت اطلاعات است. مسائل
آچتونگ!برای جلوگیری از سوء تفاهم های احتمالی، در برخی موارد می توانید تصاویر را مرور کنید:
این سیستم بر پایه داوطلبان و اشتیاق خالص است - ما فقط کاری را که انجام می دهیم دوست داریم. می توانید این را یک سرگرمی در نظر بگیرید و اشتباه نخواهید کرد - از این گذشته ، هنوز هم دوستداران ارتباط از طریق استفاده از مکاتبات کاغذی وجود دارند. "تلگراف" را در بیشتر موارد می توان به عنوان یک پیاده سازی دیجیتالی از اصول پست معمولی نشان داد.
Telegraph یک آنالوگ مستقل از ایمیل است که به شما امکان می دهد بدون استفاده از اینترنت پیام های متنی ساده ارسال کنید. "تلگراف" را می توان به یک درجه نسبت داد
درایوهای فلش به عنوان صندوق پست استفاده می شوند و پایانه ها - رایانه ها، که نقاط دسترسی منحصر به فرد برای دریافت و انتقال مکاتبات الکترونیکی هستند - به عنوان دفاتر پست عمل می کنند.
بیایید ساده ترین مثال تعامل با سیستم را در نظر بگیریم. ما دو درایو فلش و یک ترمینال در انبار داریم. خود اسکریپت شامل متغیرهای جهانی لازم برای تعامل بعدی با سیستم است - شماره ترمینال، مسیر به ریشه و غیره.
اگر یک درایو قابل جابجایی را به ترمینال متصل کنیم و اسکریپت را اجرا کنیم، سعی می کند پیام های خروجی را از دایرکتوری دریافت کند. /mnt/Telegraph/Outbox و آنها را به حافظه خود منتقل کنید، سپس پیام های جدید در حافظه خود را برای کاربر فعلی بررسی کنید. در صورت وجود، آنها را یادداشت کنید /mnt/Telegraph/Inbox.
ثبت دستگاه های جدید
کاملاً تصادفی اتفاق می افتد. این اسکریپت درایوهای فلش جدید متصل به سیستم را پیدا میکند و سعی میکند شناسههای منحصربهفرد آنها را با شناسههای ارائهشده در ریشه مطابقت دهد. اگر دستگاه ها قبلاً ثبت نشده باشند، طبق قوانین اعلام شده توسط تلگراف فرمت می شوند.
پس از ثبت یک دستگاه جدید، ساختار ریشه به شکل زیر است:
در فایل پیکربندی config.ini، در ریشه درایو فلش، اطلاعات سیستم وجود دارد - یک شناسه منحصر به فرد و یک کلید مخفی.
کمی رم به مردم بدهید!
نه واقعا جدی! می توانید منابع را دریافت کنید
اما باید چند کلمه بیشتر در مورد نحوه عملکرد سیستم پیام رسانی در عمل بگویم.
ابتدا بیایید بفهمیم که یک شناسه منحصر به فرد یازده رقمی از چه چیزی تشکیل شده است. به عنوان مثال، 10455000001.
رقم اول 1، مسئول شماره کشور است. کد بین المللی - 0، روسیه در این مورد - 1.
در مرحله بعدی چهار رقم می آید که مسئول شماره منطقه ای است که ترمینال در آن قرار دارد. 0455 منطقه شهری کولومنا است.
آنها با دو عدد دنبال می شوند - 00، - مسئول مستقیم شماره ترمینال است.
و تنها پس از آن - چهار رقم، که شماره سریال کاربر اختصاص داده شده به این ترمینال است. ما این را داریم - 0001. نیز وجود دارد 0000 - این شماره مستقیماً به خود ترمینال تعلق دارد. شما نمی توانید مکاتبات کتبی را به آن ارسال کنید، اما خود ترمینال از این شماره برای ارسال پیام های خدماتی به کاربران استفاده می کند. به عنوان مثال، اگر به دلایلی پیام ارسال نشد.
در ریشه "صندوق پستی" ما دو دایرکتوری لازم برای دریافت و ارسال پیام های متنی وجود دارد. هنگامی که یک دستگاه به ترمینال متصل می شود، پیام های خروجی از دایرکتوری "Outbox" به سرور ارسال می شود و پیام های دریافتی در فهرست "Inbox" بارگیری می شوند که منطقی است.
هر فایل، بسته به دایرکتوری، توسط گیرنده یا شماره فرستنده نامگذاری می شود.
اگر بخواهیم به گیرندهای که وجود ندارد پیام ارسال کنیم، ترمینال یک پیام خطا برای ما ارسال میکند.
با این حال، اگر تصمیم بگیریم نامه ای را به مخاطبی که در ترمینال دیگری قرار دارد بفرستیم (صرف نظر از وجود یا نبودن آن)، قبل از اینکه نماینده مکاتبات کتبی را از ترمینال ما به او منتقل کند، در حافظه ترمینال ثبت می شود.
وقتی نماینده شعبه 10500000000 (به عبارت دیگر، پستچی) دستگاه خود را به ترمینال ما متصل می کند، نامه های خروجی به درایو او منتقل می شود. پس از آن، هنگامی که او دستگاه خود را به ترمینال خود متصل می کند، این حروف به حافظه ترمینال ریخته می شوند و منتظر می مانند تا گیرنده آنها را در درایو فلش خود دانلود کند.
جلسه ارتباط
بیایید سعی کنیم پیامی با متن "سلام!" از جانب 10455000001 к 10455000002.
فقط همین!
من خوشحال خواهم شد که هر گونه انتقادی را در مورد کد منبع پروژه و خود مقاله دریافت کنم.
از توجه شما متشکرم
منبع: www.habr.com