PDA

View Full Version : کمک در ساخت مسنجر



amin_sltny
سه شنبه 31 اردیبهشت 1392, 15:49 عصر
سلام

من می خوام یه مسنجر بسازم. از دوستان کسی هست که در این زمینه تجربه داشته باشه و به من کمک کنه؟

می خوام بدونم از کجا شروع کنم؟ چی نیاز دارم و ...

mthreat.info
سه شنبه 31 اردیبهشت 1392, 15:56 عصر
سلام

من می خوام یه مسنجر بسازم. از دوستان کسی هست که در این زمینه تجربه داشته باشه و به من کمک کنه؟

می خوام بدونم از کجا شروع کنم؟ چی نیاز دارم و ...

http://c-sharp.ir/index.php/2013-02-04-10-21-38/2013-02-04-10-22-42/74-13

amin_sltny
سه شنبه 31 اردیبهشت 1392, 16:19 عصر
http://c-sharp.ir/index.php/2013-02-04-10-21-38/2013-02-04-10-22-42/74-13

یعنی باید از UDP استفاده کنم. نباید از TCP استفاده کنم؟

mthreat.info
سه شنبه 31 اردیبهشت 1392, 16:23 عصر
میتونی هم این هم اون ولی اگه مسنجرت تحت lan هست من پیشنهاد میکنم از این روش (UDP)استفاده کنی

nima.sh
سه شنبه 31 اردیبهشت 1392, 16:31 عصر
سلام دوست عزیز...
حرف این دوستمون کاملا درسته،اما برای مسنجرهای داخل شبکه محلی...
اول بگو تحت وب میخوای درست کنی یا تحت شبکه محلی....؟

_behnam_
سه شنبه 31 اردیبهشت 1392, 16:42 عصر
سلام دوست عزیز.
من فرض رو بر این میزارم که شما میخواید یه مسنجر ساده بدون ویس و ویکم بسازید.
شما باید آشنایی با سوکت نویسی ( اصول سوکت نویسی) داشته باشید. یعنی اینکه بدونی accept,Listen,requestconnection و ... یعنی اینکه بدونید کار اینها چی هست و بتونید ازشون استفاده کنید.
_________________________________


معمولا وقتی اسم مسنجر یا برنامه چت میاد خیلی ها میرن توی فکر بانک اطلاعاتی SQL و اتصال کلاینت ها به اون برای ارسال و دریافت پیام ها.
اما واقعا اینجوریه؟!
نه! به هیچ وجه یک مسنجر به صورت کار نمیکنه.(تاحالا نه هیچ مسنجری به این روش ساخته شده و هیچ ساخته نخواهد شد، البته منظورم یک مسنجر که واقعا بشه بهش گفت مسنجر. مثلا یارو میاد میگه چرا بابا میشه با SQL ساخت، خودم یا دوستم یا فلان نفر اینجوری ساخته و ... در کل بگم غیر استاندارد هست :بامزه:)
خوب از کجا شروع کنید؟
مسنجرها به شکل سرور و کلاینت کار میکنن یعنی اینکه وقتی 2کاربر میخوان باهم چت کنن به صورت مستقیم باهم نمیتونن ارتباط برقرار کنن چرا که باید آیپی ثابت داشته باشد اینجوری. بین اونها یک سرور قرار میگیره که اطلاعت رو بینشون ردوبدل میکنه.
مثلا من میخوام به دوستم ادیب پیام بفرستم
به سرور میگم این بسته مربوط میشه به ارسال پیام، متن "سلام" رو بفرست به "ادیب"
سرور اطلاعتی رو که از من گرفته برسی میکنه ببینه مربوط به چی هست. میبینه مربوط به ارسال پیام هست.
میاد اسم منو اسم ادیب و پیامی که فرستادم رو جدا میکنه و میزاره توی یک بسته ، میگرده توی لیست کاربرایی که بهش وصل هستن اگه ادیب رو پیداکرد یه بسته اطلاعت واسش میفرسته : شما پیام دارید، از طرف "بهنام " متن "سلام" اگه پیدا نکرد ذخیره میکنه و وقتی که ادیب به سرور وصل شد سرور اطلاعات رو بهش میرسونه.
در کل واسه هر ارتباطی که بین کاربران صورت میگیره ارسال پیام ،ادد،ایگنور،کنفرانس و ... ارسال پکت به سرور هست.
این همه مقدمه چینی کردم که بهتون بگم شماباید بتونید سرور و کلاینت رو بسازید.
از یک سرور و کلاینت سبک و مبتدی شروع کنید و کمکم گسترش بدید.

ببخشید الان چون عجله داشتم تندتند مطلب رو خلاصه نوشتم. شما هر سوالی داشتید بپرسید بنده تا جایی که بتونم در خدمت هستم.

_behnam_
سه شنبه 31 اردیبهشت 1392, 16:43 عصر
یعنی باید از UDP استفاده کنم. نباید از TCP استفاده کنم؟
نه دوست عزیز. شما باید از TCP استفاده کنید. UDP واسه ویس و وبکم هست.

nima.sh
سه شنبه 31 اردیبهشت 1392, 16:50 عصر
نه دوست عزیز. شما باید از TCP استفاده کنید. UDP واسه ویس و وبکم هست.
بعید میدونم دوست عزیز....
udp از سرعت و امنیت بالاتری نسبت به tcp برخورداره....
برقراری tcp هم کلاینت و هم سرور باید اعلام آمادگی کنند ولی برای udp نیازی نیست،یعنی اگه سرور اطلاعات رو بفرسته،حتی اگه کلاینتی هم نباشه،اون اطلاعات میره....
برای اطلاعات بیشتر هم میتونید تو گوگل سرچ کنید،مباحث خیلی زیاده....
موفق باشید...

amin_sltny
سه شنبه 31 اردیبهشت 1392, 19:47 عصر
سلام دوست عزیز...
حرف این دوستمون کاملا درسته،اما برای مسنجرهای داخل شبکه محلی...
اول بگو تحت وب میخوای درست کنی یا تحت شبکه محلی....؟

تحت وب؟ چه فرقی داره

amin_sltny
سه شنبه 31 اردیبهشت 1392, 19:51 عصر
سلام دوست عزیز.
من فرض رو بر این میزارم که شما میخواید یه مسنجر ساده بدون ویس و ویکم بسازید.
شما باید آشنایی با سوکت نویسی ( اصول سوکت نویسی) داشته باشید. یعنی اینکه بدونی accept,Listen,requestconnection و ... یعنی اینکه بدونید کار اینها چی هست و بتونید ازشون استفاده کنید.
_________________________________


معمولا وقتی اسم مسنجر یا برنامه چت میاد خیلی ها میرن توی فکر بانک اطلاعاتی SQL و اتصال کلاینت ها به اون برای ارسال و دریافت پیام ها.
اما واقعا اینجوریه؟!
نه! به هیچ وجه یک مسنجر به صورت کار نمیکنه.(تاحالا نه هیچ مسنجری به این روش ساخته شده و هیچ ساخته نخواهد شد، البته منظورم یک مسنجر که واقعا بشه بهش گفت مسنجر. مثلا یارو میاد میگه چرا بابا میشه با SQL ساخت، خودم یا دوستم یا فلان نفر اینجوری ساخته و ... در کل بگم غیر استاندارد هست :بامزه:)
خوب از کجا شروع کنید؟
مسنجرها به شکل سرور و کلاینت کار میکنن یعنی اینکه وقتی 2کاربر میخوان باهم چت کنن به صورت مستقیم باهم نمیتونن ارتباط برقرار کنن چرا که باید آیپی ثابت داشته باشد اینجوری. بین اونها یک سرور قرار میگیره که اطلاعت رو بینشون ردوبدل میکنه.
مثلا من میخوام به دوستم ادیب پیام بفرستم
به سرور میگم این بسته مربوط میشه به ارسال پیام، متن "سلام" رو بفرست به "ادیب"
سرور اطلاعتی رو که از من گرفته برسی میکنه ببینه مربوط به چی هست. میبینه مربوط به ارسال پیام هست.
میاد اسم منو اسم ادیب و پیامی که فرستادم رو جدا میکنه و میزاره توی یک بسته ، میگرده توی لیست کاربرایی که بهش وصل هستن اگه ادیب رو پیداکرد یه بسته اطلاعت واسش میفرسته : شما پیام دارید، از طرف "بهنام " متن "سلام" اگه پیدا نکرد ذخیره میکنه و وقتی که ادیب به سرور وصل شد سرور اطلاعات رو بهش میرسونه.
در کل واسه هر ارتباطی که بین کاربران صورت میگیره ارسال پیام ،ادد،ایگنور،کنفرانس و ... ارسال پکت به سرور هست.
این همه مقدمه چینی کردم که بهتون بگم شماباید بتونید سرور و کلاینت رو بسازید.
از یک سرور و کلاینت سبک و مبتدی شروع کنید و کمکم گسترش بدید.

ببخشید الان چون عجله داشتم تندتند مطلب رو خلاصه نوشتم. شما هر سوالی داشتید بپرسید بنده تا جایی که بتونم در خدمت هستم.

من در c# با TCPLISTNER و TCPCLIENT کار کردم ولی مسائلی مثل امنیت ووبکم و .. را نمی دونم. مثلا می خوام کاربران یا دوستان یه کاربر را براش بفرستم به همراه عکسشون چه طوری باید این کار را بکنم؟...

amin_sltny
سه شنبه 31 اردیبهشت 1392, 19:53 عصر
نه دوست عزیز. شما باید از TCP استفاده کنید. UDP واسه ویس و وبکم هست.

پس یعنی من اگه بخوام که یه مسنجر داشته باشم که هم وبکم داشته باشه هم ویس و هم بشه باهاش TEXT ارسال کنم هم باید از TCP و هم از UDP استفاده کنم؟

_behnam_
چهارشنبه 01 خرداد 1392, 00:20 صبح
بعید میدونم دوست عزیز....
udp از سرعت و امنیت بالاتری نسبت به tcp برخورداره....
برقراری tcp هم کلاینت و هم سرور باید اعلام آمادگی کنند ولی برای udp نیازی نیست،یعنی اگه سرور اطلاعات رو بفرسته،حتی اگه کلاینتی هم نباشه،اون اطلاعات میره....
برای اطلاعات بیشتر هم میتونید تو گوگل سرچ کنید،مباحث خیلی زیاده....
موفق باشید...
تفاوت TCP و UDP میدونید در چیه؟
دوست عزیز شما یه چیزی شنیدی که سرعت UDP بیشتر واسه همین میگی UDP باید استفاده شه!!
نه اینجور نیست.
درسته UDP سرعتش بالاست اما تفاوتشون اینه که UDP اطلاعات رو ارسال میکنه و کاری نداره که اطلاعت دریافت میشه یا نه و اطلاعات بعدی رو میفرسته.
بهش میگنم غیر قابل اعتماد چون یکی اینکه تضمینی توی دریافت صحیح اطلاعات نیست و دوم اینکه ممکنه اطلاعت ترتیبشون بهم بخوره
اما TCP قابل اعتماده چون خطایابی میشه و همچنین تا از ارسال اطلاعات مطمئن نشده اطلاعات رو میفرسته.
اون UDP که شما میگی واسه ویس و وبکم خوبه چرا که اگه اطلاعات هم به درستی ارسال دریافت نشه موردی نیست فقط صدا قطع و وصل میشه .



پس یعنی من اگه بخوام که یه مسنجر داشته باشم که هم وبکم داشته باشه هم ویس و هم بشه باهاش TEXT ارسال کنم هم باید از TCP و هم از UDP استفاده کنم؟

بله.

nazanin_shajoon
سه شنبه 07 خرداد 1392, 22:58 عصر
سلام دوستان
اگه چندتا کد جداگونه از وویس و تکست و ویدیو داشته باشیم و بخوایم اینارو به هم بچسبونیم یه مسنجر بشه باید چیکار کنیم؟پروژه ای که استاده ما بهمون داده اینه ولی من اصلا نمی دونم باید چیکارش کنم . مرسی که قراره کمکم کنید:گریه: