در yChat تجربی، XML قابل تنظیم، سریع، قابل حمل، چند پلت فرم سرور مبتنی بر وب چت نوشته شده در C ++ و یک زیر مجموعه کوچک از C است که پشتیبانی از سوکت SSL امن با استفاده از OpenSSL، پایگاه داده MySQL و سازگار با تمامی است مرورگر هایی که قاب ها و جاوا اسکریپت را پشتیبانی کند.
yChat اجرا بر روی تمام سرور های که POSIX.4a سازگار است و با استفاده از GNU C ++ کامپایلر GCC از 3.1 و با pthreads را فعال کنید. خود را تحت مجوز عمومی کلی گنو توسعه یافته است.
yhttpd یک وب سرور بسیار سبک بر اساس سوکت و موضوع موتورهای yChat است.
در اینجا برخی از ویژگی های کلیدی "yChat" عبارتند از:
آن آزاد و قابل حمل
· yChat تحت مجوز عمومی کلی گنو توسعه یافته است و در GNU بر اساس
ابزار (شورای همکاری خلیج فارس، gmake)، دیگر چیزهای کتابخانه متن باز (مانند libncurses و غیره)
و باید در هر POSIX سیستم عامل قادر به مانند تمام لینوکس مبتنی بر اجرا (
سیستم های، FreeBSD و NetBSD، عاملها و دیگر BSD-سیستم ها و در UNICES مانند
IRIX، HP-UX، سولاریس و غیره).
بدون نیاز به برنامه های چت ویژه ای وجود دارد
· yChat است مبتنی بر وب، که به معنی از مشتریان ممکن است تنها به سرور چت اتصال
با مرورگر معمول مانند اینترنت اکسپلورر یا هر Gecko-
مرورگرهای powerd موتور مانند موزیلا، فایرفاکس، Camino از و غیره
این ویژگی های یک وب سرور HTTP واقعی
· yChat اجرا می شود به طور کامل به تنهایی می کند و یکی دیگر از وب سرور برای ساخت نیاز ندارد
در مثل آپاچی و نیازی به از طریق هر نوع CGI اجرا شود. yChat ایجاد
سوکت خود را بر روی یک پورت سفارشی (پورت استاندارد: 2000) و به نظر می رسد کامل
برجسته وب سرور HTTP به مشتریان (مرورگرهای وب).
· پایگاه کد yChat را می توان به یک پایگاه کد yhttpd تبدیل را automaticaly. yhttpd
زیر مجموعه وب سرور از yChat که به طور کامل اجرا می شود به تنهایی فراهم می کند و می باشد
وب سایت های عادی به شبکه است. این برنامه همچنین از دروازه مشترک رابط (CGI)
برنامه نویسی.
آن سریع و امن
· yChat در C ++ است که سریع تر از هر جاوا بر اساس چت-سرور و یا هر نوشته
سرور نوشته شده در یک زبان برنامه نویسی مانند PHP، پایتون و پرل. به عنوان
ساختمان داده داخلی نقشه هش استفاده می شود به garuantee جستجو خاص
ارزش ها در O (1) مقدار زمان. اگر یک نقشه هش کامل می شود، آن rehashed خواهد شد.
در حال حاضر، yChat تا به اندازه گیری ارائه شده است بیش از 1000 بازدید / درخواست در ثانیه
در یک جعبه سرور FreeBSD را بر اساس در حالی که با استفاده از کمتر از 2 درصد استفاده از CPU
در پردازنده های Athlon XP 1900+. عملکرد به نظر می رسد تنها پهنای باند خود را محدود می شوند.
همچنین، هر کاربر می شود شناسه جلسه خود را (رشته تصادفی) با طول استاندارد
50 کاراکتر به تصدیق هر کاربر در وارد سایت شوید. طول جلسه شناسه
می توان دوباره تعریف نیز هست. همچنین، شناسه جلسه خواهد شد-MD5 هش اختیاری
تا منم حتی سخت تر به مهندسی معکوس شناسه جلسه از کاربران دیگر.
همچنین، yChat پروتکل انتقال ابرمتن امن (HTTPS) اتصالات پشتیبانی
با استفاده از کتابخانه OpenSSL. سپس، تمام پیام های چت را در یک رمزگذاری
شیوه ای امن. HTTPS اختیاری به HTTP (اتصالات نا امن) است.
قالب HTML خود را بر اساس و آسان به سفارشی از طریق XML پیکربندی مبتنی بر
· همه سایت های HTML به صورت فایل HTML-الگو از پیش تعریف شده و می تواند به راحتی تغییر
با استفاده از طراحی وب سایت سفارشی. همچنین، بسیاری از تنظیمات yChat می تواند
مجموعه در فایل پیکربندی اصلی (ychat.conf). ychat.conf به طور کامل نوشته شده است
در XML 1.0 که باعث می شود آن را آسان تر به استفاده از گزینه های پیکربندی را در برنامه های
افراد 3 که ممکن است بخواهید به ارسال برخی از ابزار مفید برای yChat.
yChat کاشه (cach) تمام تصاویر HTML و وب به منظور بهبود عملکرد کلی. در صورت نیاز،
کش را می توان پاک به recache نسخه های جدید از فایل های قالب.
قالب زبان خود را بر اساس
· مدیر به راحتی می توانید یک زبان جدید ایجاد که در آن همه پیام سیستم
به چت کاربر ظاهر می شود. زبان انگلیسی از پیش تعریف شده است، اما دیگران می تواند
اضافه به راحتی. زبان را می توان در XML مبتنی بر فایل پیکربندی را ویرایش کرد.
پایگاه داده MySQL بر اساس
· کاربران ثبت شده در پایگاه داده MySQL ذخیره می شود. برنامه نویسی C ++ ممکن است احساس رایگان
به جای کلاس پایگاه داده لفاف بسته بندی (data.h) با روال پایگاه داده دیگر
برای استفاده از پایگاه داده های دیگر مانند PostgreSQL و، از SQLite یک پایگاه داده و یا متن بر اساس و غیره
اگر آرزو، شما می توانید پشتیبانی از پایگاه داده در گزینه های از پیش کامپایل غیر فعال کنید.
این رابط دولت
· yChat شامل ncurses رابط دولت بر اساس برخی که در آهنگ
آمار جالب و پیام های سیستم و شما را قادر به انجام برخی از
وظایف اداری. علاوه بر این، شما می توانید به CLI (خط فرمان تغییر دهید
رابط) حالت از رابط دولت به منظور با ارائه شود
توابع در دسترس تر (مانند پیگیری استفاده سیستم فعلی و غیره).
اگر شما مانند ncurses و / یا CLI اصلا شما می توانید هر دو گزینه در پیش غیر فعال کردن
گزینه کامپایل.
این قابلیت ورود به سیستم
· مدیر ورود به سیستم نگه می دارد ردیابی به تمام پیغام های سیستم yChat (مانند کاربران
ورود به سیستم سرشار در داخل و خارج، ماژول که بارگذاری می شود، نمایش داده شد خروجی زیر و غیره). همچنین،
آپاچی سبک ترکیب فرمت فایل ورود به سیستم توسط yChat ایجاد (شما میتوانید به این تجزیه
فایل تاریخچه ثبت با هر آپاچی تجزیه کننده فایل تاریخچه ثبت awstats مانند و غیره). و آخرین اما نه
حداقل، تمام پیام های عمومی از همه اتاقها در دسترس خواهد بود به دیسک به عنوان سیستم وارد
است. به منظور بهبود عملکرد، شما می توانید ورود به سیستم پف کننده استاندارد تعریف (
سیاهههای مربوط خواهد شد بر روی دیسک بعد از هر 20 خط نوشته شده است). اگر می خواهید وارد سیستم شوید
همه چیز بلافاصله، شما می توانید از این گزینه برای 1 در ychat.conf بازنشانی کنید.
مدولار خود را از طریق دستور خود و موتور HTML پویا
· همه دستورات چت از طریق فایل های ماژول های قابل بارگذاری پویا متوجه که می تواند
مجددا کامپایل و reload بدون شروع مجدد کل سرور yChat. همچنین
HTML سایت با وظایف خاص را می توان به عنوان یک ماژول مانند وارد
مدها / HTML / yc_register.so، مدها / HTML / yc_options.so و مدها / HTML / yc_colors.so
و غیره، بنابراین شما همچنین می توانید وب سایت های پویا yChat خود را در C ++ برنامه ریزی کنید.
چند موضوعی آن (موضوعات POSIX)
· تنها یک فرآیند اصلی که spawns چند موضوعات، برای هر یک از خود را وجود دارد
کار منحصر به فرد. به عنوان مثال یک موضوع استفاده شده است که مسئولیت رسیدگی به مدیر سوکت که
منتظر ورودی درخواست TCP / IP، یکی دیگر از برنامه های تایمر موضوع سیستم
که ثابت می کند اگر مشتریان هنوز هم فعال است و یا آزاد حافظه در برخی از مورد نیاز نیست
فواصل زمانی (همچنین نگاه کنید به "جمع آوری زباله"). همچنین، هر چت کاربر می شود آن را خود
موضوع. بدون نیاز به اتلاف حافظه با ایجاد برای هر وظیفه جدید وجود دارد
روند. همه موضوعات کاربر-توسط یک استخر موضوع برای جلوگیری از اتلاف CPU مدیریت
ایجاد هر بار یک موضوع جدید با استفاده مجدد اشیاء موضوع که انجام داده اند آن
شغل حال حاضر و به صف از استخر موضوع readded شده است.
اندازه های استاندارد از صف و اندازه کل استخر را می توان در ychat.conf تنظیم شده است.
با استفاده از آن یک موتور جمع آوری زباله هوشمند
· همه کاربران و اتاق که اصلا به در حافظه اصلی نگهداری می شود (به این دلیل که
کاربر از سیستم خارج و یا اتاق نابود شده است چرا که آن را خالی بود) خواهد شد
بلافاصله حذف نمی شود اما می شود برای حدود 10 دقیقه در yChat قرار داده شده
زباله روب. هر بار یک اتاق جدید سیستم ایجاد می شود چک
زباله استفاده مجدد از یک شی غیر فعال اتاق. اگر یک کاربر خاص می خواهد برای ورود به سیستم،
سیستم بررسی میکند که آیا او در حال حاضر در حال حاضر در جمع آوری زباله. اگر بله، او خواهد شد
شود بدون اتلاف نمایش داده شد پایگاه داده گران به بهانه کاربر فعال
گزینه. این باعث بهبود عملکرد کلی بر روی سرورهای yChat بهکندی اگر
بسیاری از کاربر و اتاق اشیاء را ایجاد می کند و اغلب نابود شده است.
چه چیزی جدید در 0.8.2 نسخه:
· ثابت برخی از غلط املایی
· اضافه شدن - نسخه - بند به فایل README
· حذف دستور yc_template منبع فایل ماژول
· اسکریپت / config.pl در حال حاضر نیز می پذیرد q و به عنوان یک دستور ترک
· اشکالات جزئی در اسکریپت / config.pl
· برخی از پیشرفت در SRC / پیکربندی
· برخی از مقادیر پیش فرض را تغییر در SRC / glob.h
چه چیزی جدید در 0.7.9.5 نسخه:
· در این نسخه اضافه می کند .pm تشخیص به اسکریپت / stats.pl.
· این تغییر README (جدید آدرس pserver CVS).
· همه .cpp، حوریه، و فایل های .tmpl در حال حاضر یک ضربه منبع جدید با استفاده از اسناد / header.txt به عنوان اسکلت هدر.
· بعضی از رفع اشکالات جزئی ساخته شده است.
جزئیات نرم افزار:
نظر یافت نشد