مقدمه:
با توجه به اینکه در عصر ارتباطات به سر می بریم و تمامی انسانها به نحوی تلاش می کنند تا با یگدیگر ارتباط برقرار کنند.
و هر یک از آنها از روشهای مختلفی برای برقرای ارتباط استفاده میکنند.
یکی از روشهای برقراری ارتباط گفتگومیباشد.
که این روش به نوبه خود دارای انواع متفاوتی مانند گفتگو به صورت حضوری، گفتگو تلفنی، گفتگو با استفاده از اینترنت و تایپ کلمات و...
میباشد.
که هر یک از این روشهای گفتگو دارای اهمیت خاص خود میباشد.
همانطور که گفته شد یکی از روشهای برقراری ارتباط، گفتگو با استفاده از اینترنت و تایپ کلمات می باشد، که در این روش کاربران می توانند با استفاده از نرم افزارهای وب چت که بر روی اینترنت قرار دارند بادیگران در هر نقطه از جهان به گفتگو بپردازند.
با توجه به صحبتهای ذکر شده ما سعی نموده ایم تا در این پروژه نرم افزار وب چت را در اختیار کاربران عزیز قرار دهیم.
و سعی نموده ایم تا با استفاده از فن آوریهای جدید مانند آژاکس بر سرعت این نرم افزار بیفزاییم و مانع از اتلاف وقت کاربران عزیز شویم.
در این نرم افزار که در قالب یک سایت اینترنتی طراحی شده کاربران می توانند با عضویت در سایت از امکاناتی مانند: ارسال دعوت نامه دوستی برای دیگر کاربران، ارسال پیام متنی ، ارسال تصویر نما ، ارسال فایل ، ارسال نامه الکترونیکی و...
استفاده نمایند.
کارایی و امکانات سایت:
در این پروژه سایت طراحی شده دارای چندین صفحه میباشد که هر صفحه امکاناتی را برای کاربر فراهم میآورد.
این صفحات با ASP.NET ودر محیط VS.NET 2005 نوشته شدهاست.
بانک اطلاعاتی این پروژه Sql Server میباشد.
صفحه Login.aspx:
این صفحه اولین صفحهای است که پیش روی کاربر قرار میگیرد.کاربر می تواند پس از عبور از این صفحه به پروفایل شخصی خود دسترسی پیدا کند.
امکانات صفحه Login:
• اطلاعات کلی در مورد سایت
• Demo Blue Chat: کاربران می توانند با کلیک کردن بر روی این لینک فایل Demo Blue Chat را بر روی سیستم خود نصب کنند.
این فایل با نرم افزار فلش طراحی شدهاست و قسمتهای مختلف سایت را به کاربر نمایش میدهد.
• Get e new ID: کاربران می توانند با کلیک کردن بر روی این لینک وارد صفحه ثبت نام شوند و در سایت ثبت نام نمایند.
• فرم مخصوص ورود به سیستم : اعضا می توانند با کامل کردن این سایت پروفایل اصلی خود وارد شوند.
صفحه Registeration.aspx:
صفحه ثبت نام به این منظور طراحی شدهاست که کاربران بتوانند عضو سایت شوند و از امکانات آن استفاده کنند.
در این صفحه سعی شدهاست مانند دیگر صفحات سایت به منظور کاهش مدت انتظار کاربر در حین ثبت نام از تکنولوژی آجاکس استفاده شود.
امکانات صفحه:Registeration
• اطلاعات کلی در مورد سایت
• View my profile: در صورت موفقیت آمیز بودن ثبت نام کاربر، با کلیک کردن بر روی این لینک کاربر به صفحه login وارد شده و پس از وارد کردن نام کاربری و کلمه رمز خود می تواند پروفایل خود را مشاهده کند.
• فرم مخصوص ثبت نام: در این صفحه یک فرم ثبت نام پیش روی کاربر قرار می گیرد که پر کردن آن برای ثبت نام در سایت ضروری است.
صفحه Profile.aspx:
این صفحه پر محتواترین صفحه سایت است و در واقع بیشترین امکانات سایت در این صفحه قرار دارد و خود شامل زیر صفحاتی است که در تب محتوی قرار دارند.
لازم به ذکر است که در طراحی صفحاتی که غالب یکسانی دارند و تنها در یک قسمت از صفحه با هم متفاوت هستند شما می توانید از روشها ی متفاوتی استفاده کنید تا غالب تمامی آنها به صورت یکسان و مشابه باشد.
یکی از این روشها استفاده از صفحه اصلی است و روش دیگری که آجاکس پیش روی ما می گذارد و روش سریع تری نسبت به صفحه اصلی می باشد، استفاده از ابزار TabContainer است.
ما در طراحی این سایت از این ابزار برای ساختن زیر صفحات استفاده کرده ایم.
امکانات صفحه پروفایل:
لینکها :
• لینک ویرایش پروفایل
• لینک چت روم
• لینک اطلاعات کاربر
برچسبها :
• برچسب ارسال نامه الکترونیکی
• برچسب دریافت نامه الکترونیکی
• برچسب ارسال فایل
• برچسب دریافت فایل
• برچسب جستجو
• برچسب اضافه و حذف کردن دوست به لیست
• برچسب دریافت دعوت نامه
صفحه Edit Profile:
کاربران با وارد شدن به این صفحه می توانند پروفایل و اطلاعات خود را ویرایش کنند.
امکانات صفحه Edit Profile:
• اختصاصی بودن این صفحه، به این منظور که هر کاربر صفحه ویرایش خاص خود را دارد و یک کاربر نمی تواند اطلاعات کاربر دیگر را تغییر دهد.
• ویرایش و یا تکمیل نمودن اطلاعات شخصی از قبیل نام، نام خانوادگی، کشور، تاریخ تولد، جنسیت
• ویرایش رمز عبور
• ویرایش عکس
صفحه User Information:
این صفحه اطلاعات کاربر خاصی را نمایش می دهد.
صفحه Chatroom:
در این صفحه کاربران می توانند به صورت روی خط با یکدیگر صحبت کنند.
امکانات صفحهChatroom:
• نمایش لیست تمام کسانی که در صفحه وجود دارند.
• تمام کسانی که در این صفحه وجود دارند می توانند با ارسال پیغام با یکدیگر صحبت کنند.
• کاربران می توانند علاوه بر متن تصویر نما نیز ارسال کنند.
• فیلتر کردن کلمات نا مناسب: در صورتی که یکی از کاربران کلمه ای نا مناسب را ارسال کند آن را با علامت * جایگزین می کند و علامت * را برای گیرنده پیام نمایش می دهد.
معرفی بانکها :
در این پروژه با استفاده از Sql Server 2005 یک بانک اطلاعاتی با نام WebChat طراحی شدهاست.
این بانک شامل جداول زیر میباشد.
١- جدول Register: تمامی اطلاعات اعضا سایت در این جدول نگهداری میشود.
٢- جدول UserInRoom: هنگامی که کاربر وارد صفحه ChatRoom میشود اطلاعات آن وارد این جدول میشود و پس از خروج آن از این صفحه اطلاعات ان پاک میشود.
٣- جدول Mail: هنگامی که کاربر نامه ای را برای دوست خود ارسال می کند تمامی اطلاعات نامه در این جدول ثبت میشود.
٤- جدول File: هنگامی که کاربر فایلی را برای دوست خود ارسال می کند تمامی اطلاهات فایل در این جدول قرار می گیرد.
٥- جدول Invitation: هنگامی که کاربر دعوتنامه ای را برای کاربر دیگری ارسال می کند تمامی اطلاعات فرم دعوتنامه در این جدول ثبت میشود.
٦- جدول Friend: اسامی تمامی دوستان یک کاربر در این جدول ثبت میشود.
فصل اول: ابزارها و نرم افزارها ی مورد استفاده
١-١- ابزارها:
در این پروژه برای طراحی و پیاده سازی سایت از نرم افزارهای زیر استفاده شدهاست:
• آجاکس
• ASP.NET (C#)
• VS.NET 2005
• SQL Server 2005
• Photoshop 8
• وب سرور IIS
١-٢- ASP.NET:
١-٢-١- مقدمه ای بر ASP.NET:
ASP.NET نسل جدید ASP است که توسط شرکت مایکروسافت ارائه شدهاست.
این محصول توسط مایکروسافت بعنوان شاخص اصلی فناوری در ساخت سایتهای وب در نظر گرفته شدهاست.
با استفاده ازASP.NET میتوان هم اینترانت کوچک یک شرکت را ساخت و هم یک سایت وب تجاری خیلی بزرگ را طراحی و پیاده سازی نمود.
مهمترین نکاتی که در طراحی این محصول در نظر گرفته شدهاست راحتی استفاده و بالا بودن کارائی و قابلیت آن میباشد.
١-٢-٢- ویژگیها ی ASP.NET:
• صفحات ASP.NET کامپایل میشوند.
هنگامی که یک صفحه ASP.NET برای اولین بار توسط یک مراجعه کننده به سایت فراخوانی میشود، آن صفحه ابتدا کامپایل شده و بر روی سرور نگه داشته میشود و در فراخوانیها ی بعدی از آن استفاده میشود.
این بدین معنی است که صفحات ASP.NET خیلی سریع اجرا میشوند.
هنگامی که یک صفحه ASP.NET برای اولین بار توسط یک مراجعه کننده به سایت فراخوانی میشود، آن صفحه ابتدا کامپایل شده و بر روی سرور نگه داشته میشود و در فراخوانیها ی بعدی از آن استفاده میشود.
این بدین معنی است که صفحات ASP.NET خیلی سریع اجرا میشوند.
صفحات ASP.NET با ابزارهای روی سرور ساخته میشوند.
با ابزارهای موجود در ASP.NET می توان صفحات پیچیده وب را براحتی طراحی نمود.
بعنوان مثال با استفاده از ابزار دیتا گرید می توان به آسانی دادهها ی موجود در یک بانک اطلاعاتی را تحت وب نمایش داد.
مجموعه ASP.NET عضوی از بدنه .NETاست.
بدنه .NETدارای بیش از ۴۵۰۰ کلاس آماده جهت استفاده در ASP.NET است.
این کلاسها تقریبا هر نیازی را در برنامه نویسی برآورده می کنند.
بعنوان مثال از این کلاسها می توان جهت تولید تصاویر بر حسب تقاضا، به رمز درآوردن یک فایل و یا ارسال یک نامه استفاده کرد.
٣-٢-١- مقایسه ASP.NET و ASP کلاسیک: ASP.NET نسل بعدی ASP کلاسیک است.
اما این یک پیشرفت تکاملی است بطوریکه این دو فناوری تقریبا از یکدیگر متفاوتند.
صفحات ASP با زبانها ی دستورالعمل نویسی مانند VBScript یا جاوااسکریپت ایجاد میشوند اما درASP.NET ما یک فرایند کامل برنامه نویسی با زبانهای ویژوال بیسیک یا #C داریم.
همچنین در ASP کلاسیک تنها پنج کلاس استاندارد (Request, Response, Application Session, Server) وجود دارد حال آنکه در ASP.NET می توان از بیش از ۴۵۰۰ کلاس استاندارد موجود در بدنه.NET بهره جست.
همچنین علیرغم قدرت و امکانات زیاد و متعددASP.NET، استفاده از آن در مقایسه با ASP کلاسیک بسیار آسانتر است.
بعنوان مثال با استفاده از چند ابزار در یک صفحه ASP.NET می توان یک صفحه بسیار پیچیده HTML بدست آورد که ساخت آن در ASP کلاسیک ممکن است نیاز به چند روز کار داشته باشد.
١-٢-٤- زبانهای برنامه نویسی در: ASP.NET شما در ASP.NET می توانید از هر زبان برنامه نویسی که با بدنه .NET سازگار باشد استفاده کنید.
این زبانها عبارتند از ویژوال بیسیک دات نت و C# و جاوا اسکریپت دات نت این بدین معنی است که شما جهت نوشتن برنامه در ASP.NET نیاز به فراگیری زبان جدیدی ندارید و اگر یکی از زبانهای ویژوال بیسیک یا C++ یا جاوا را می دانید هم اکنون می توانید در ASP.NET برنامه بنویسید.
از طرف دیگر تعدادی زبانهای دیگر توسط بعضی از شرکتهای فعال در این زمینه به مجموعه زبانهای استاندارد ASP.NET افزوده شدهاست.
بعنوان مثال اگر مایل باشید حتی می توانید از زبان پرل و کوبل هم در ASP.NET استفاده کنید.
١-٢-٥- ابزارهای: ASP.NET سالهاست که برنامه نویسان ویژوال بیسیک جهت ساخت فرمها ی خود از ابزارهای ویژوال بیسیک مانند جعبه متن وجعبه لیستاستفاده کرده اند.
در ASP.NET هم شما می توانید از ابزارهای فراوان موجود در آن برای ساخت فرمها و صفحات خود استفاده نمائید.
در ASP.NET چهار دسته عمده از ابزارها موجود است: ابزارهای اصلی مانند: جعبه متن، جعبه لیست، دکمه ابزارهای اعتباری برای حصول اطمینان از ورود و تائید صحت اطلاعات ورودی فرمها .
ابزارهای داده ای برای ارتباط با بانک اطلاعاتی و دستکاری داده.
ابزارهای پیشرفته جهت نمایش عناصر پیچیده در واسط کاربر مانند تقویم و آگهیها ی تبلیغاتی.
١-٢-٦- ساختار یک صفحه aspx: صفحات ASP.NE به طور کلی دارای چندین بخش اصلی می باشند.
این بخشها را می توان در هفت مورد بررسی کرد: ١- دایرکتیوها ٢- بلوکهای اعلان کد ٣- کنترلهای ASP.NET ٤- بلوکهای پردازش کد ٥- توضیحات طرف سرور ٦- دایرکتیو Include طرف سرور ٧- متن ساده و تگها ی HTML ١-٢-٦-١- دایرکتیوها: دایرکتیوها تنظیمات خاصی را برای صفحات aspx و ascx تنظیم می کنند که نحوه کامپایل شدن صفحه را مشخص می کند.
دایرکتیوها با بلوک نشان داده می شوند و در هرکجای صفحه قابل تعریف می باشند معمولاً در ابتدای صفحه آورده می شوند.
در .NET Framework هشت نوع دایرکتیو وجود دارد که دو نوع Page و امپورت از بقیه پرکاربردتر هستند.
دایرکتیو Page فقط در صفحات aspx قابل استفاده است و برخی خصوصیات Page نظیر زبان برنامه نویسی، نوع محتوا، نوع کد Page، توضیحات مختصر در مورد صفحه، فعال بودن یا نبودن وضعیت ظاهر و...
را مشخص می کند.
مثلاً خط زیر به کامپایلر ASP.NET می گوید که زبان برنامه نویسی صفحه VB و نوع محتوا، متن/XML است: دو خصوصیت دیگر Page، قابلیت ردگیری و قابلیت نمایش پیامها ی خطای زمان اجراست که برای اشکال زدایی از برنامه بکار می آیند.
این دو خصوصیت بدین صورت فعال می شوند: دایرکتیو وارد کردن، برای وارد کردن یک فضانام به صفحه بکار می رود.
به این ترتیب کلیه کلاسها و واسطها ی آن فضانام در صفحه قابل استفاده می شود.
این فضانام می تواند جزیی از .NET Frameworkیا یک فضانام تعریف شده توسط کاربر باشد.
صورت کلی این دایرکتیو اینگونه است: ١-٢-٦-٢- بلوکها ی اعلان کد: این بلوکها برای تعریف متغیرها و متدها، زیربرنامهها و توابع و به طور کلی برای تعریف منطق یک صفحه ASP.NET بکار می روند.
شکل کلی یک بلوک اعلان کد چنین است: Code goes here تمامی کدهای یک صفحه ASP.NET در داخل چنین بلوکی قابل تعریف اند و اگر آنها را خارج این بلوک تعریف کنید، با پیغام خطا مواجه می شوید.
خصوصیت دلخواه زبان، زبان برنامه نویسی کدِ داخل بلوک را تعیین می کند.
دقت کنید که اگر این خصوصیت تعیین نشود، زبان پیش فرض صفحه که توسط دایرکتیو Page مشخص شده، به عنوان زبان برنامه نویسی صفحه در نظر گرفته می شود.
در ضمن زبان مشخص شده در تگ اسکریپت با زبان مشخص شده در دایرکتیو Page باید یکسان باشند.
در صورتی که هیچ زبانی انتخاب نشده باشد، زبان پیش فرض، ویژوال بیسیک