PDA

View Full Version : کمک برای نوشتن چت اینترنتی



vof.ir
یک شنبه 14 شهریور 1389, 15:46 عصر
با سلام.
لب کلام این هست که میخواهم
یک برنامه چت اینترنتی بنویسم.
مثل یاهو مسنجر کار کنه
منتهی نه با اون همه امکانات

همین که تکست را از کلاینت 1 به کلاینت مقصد که مثلا کلاینت 2 هست برسونه
کلاینت ها همدیگه را توی لیست ببینند

فکر نکنم با سوکن پروگرمینگ بشه از سرور به کلاینت ارسال کرد.
اصلا میشه از سرور به کلاینت دیتا فرستاد از هر طریقی؟؟//

ممنونم

persian_bigboy
یک شنبه 14 شهریور 1389, 17:37 عصر
سلام ، دوست من خیلی قبل تر ها من درباره این موضوع تحقیق کرده بودم و به این نتایج رسیدم .
1- نیازمند یک وب سرور جهت مجتمع کردن اطلاعات چت ها و انتقال
2- برنامه نویسی سوکت (که در انجمن زیاد بحث شده)
3- برنامه نویسی WebService
البته به جز وبسرویس راه دیگه هم هست که مورد بحث است و من به دلیل محدود بودن زمانم نمی تونم بگم .
با تشکر از شما
--------------------
راستی یه سری به وب سایت رسمی codeproject.com بزن ، توش نمونه چت زیاد هست .

HadiGN
دوشنبه 15 شهریور 1389, 02:28 صبح
سلام
روشهای مختلفی وجود داره (با استفاده از وب سرویس هم میشه)
این لینک (http://www.codeproject.com/KB/aspnet/ChatApplication.aspx) میتونه واسه برنامه چت اینترنتی کمکتون کنه

xamfia
چهارشنبه 24 شهریور 1389, 08:40 صبح
این یه برنامه چت آنلاین بر مبنای وب سرویس با asp.net

http://xamfia.codeplex.com/

البته یه پست فارسی کامل هم تو همین بخش "وب سرویس های سایت برنامه نویس" براش هست که میتونید جستجو کنید و استفاده کنید.

vof.ir
پنج شنبه 25 شهریور 1389, 11:40 صبح
سلام خدمت شما Xamfia عزیز
من خیلی وارد نیستم. جسارت نیمکنم
اما به نظرم فرق می کنه اینی که من میخوام انجام بشه. من تحت ونیدوز میخوام
فرق نداره؟؟؟؟
من سوالی که برام مطرحی اینه که یاهو مسنجر چه جوری اطلاعات را میفرسته که مثلا اگر 20 نفر هم توی یک LAN قرار داشته باشند همه میتوننند کار خودشون را انجام بدهند

سکوت پروگرمینگه؟ ریموتینگه؟ پروتکل HTTP هست؟؟؟
واقع گیج شدم.
یه چند تا تاپیک هم زدم اما به نتیجه نرسیدم
http://barnamenevis.org/forum/showthread.php?t=241470
http://barnamenevis.org/forum/showthread.php?t=240433

xamfia
پنج شنبه 25 شهریور 1389, 13:09 عصر
من تو زمینه چت یه زمانی زیاد وقت گذاشتم.تقریبا با تمام این روش هایی که گفتین میتونید برنامه تون رو پیاده سازی کنید اما هرکدوم نقاط ضعف و قوت خودشون رو دارن.وب سرویس ها انعطاف پذیر،راحت و گسترده اند اما سربار داده ای زیادی دارند و از لحاض امنیتی هم چندان قابل اعتماد نیستن.سوکت هم بعد از ایجاد کانال(مخصوصا برای ارسال پیغام و فایل) میتونه به کار بیاد اما کاملتر از همه به نظرم WCF میتونه باشه چون انعطاف و امنیت بالایی داره و هم config base هست و میتونید براحتی تغییرات برنامه تون رو توش اجرا کنید...
نمونه چت با WCF هم تو اینترنت پیدا میشه...

vof.ir
شنبه 27 شهریور 1389, 16:45 عصر
سلام ممنونم از توجهتون

من هیچ سمپلی ندیدم که بتونه توی نت کار کنه
اونم جوری که بین یوزر های پیغام رد و بدل بشه و چند نفر هم زمان چت کنند
برنامه تحت ویندوز

من سناریوم این هست. httprequest بدم به سرور
سرور منو اد کنه توی یک لیست
بد هم هر پیغامی که میدم حاوی یوزر طرف مقابل باشه و مسیجم
سرور هم مسیج هایی که برای هر یوزر میره را بذاره توی یک صف به همراه نام فرستنده
بد هر یوزری که هر موقع ریکوئست میده به سرور ، سرور هم صف پیغام هاشو واسش بفرسته

اوکی؟

یک سوال دیگه هم دارم اینه که: آقا جان من ( دیگه خیلی خستم):عصبانی++::عصبانی++::عصبا نی++:
مگه ما به سرور که آی پی ولید داره ریکوئست نمیدیم؟ خوب، :لبخندساده:
من سوالم اینه که جوابی که میخواهیم از سرور بدیم به کلاینت چه جوری بدیم؟/ آی پیش که ولید نیست؟؟؟
باید از آی اس پیش بگذریم و ....

حالا من موندم که این HTTP چه جوری در جواب یک ریکوئست ریسپانس میکنه بدونه اینکه ما بهش بگیم که از چه راهی جواب را برگدون؟:کف::کف::کف::متفکر::مت کر::متفکر:
در حقیقت اگر کسی ساز و کار ارسال جواب از طریق HTTP را بدونه مشکل من حل میشه.:تشویق::تشویق:

crazyfull
شنبه 27 شهریور 1389, 18:58 عصر
یک سوال دیگه هم دارم اینه که: آقا جان من ( دیگه خیلی خستم):عصبانی++::عصبانی++::عصبا نی++:
مگه ما به سرور که آی پی ولید داره ریکوئست نمیدیم؟ خوب، :لبخندساده:
من سوالم اینه که جوابی که میخواهیم از سرور بدیم به کلاینت چه جوری بدیم؟/ آی پیش که ولید نیست؟؟؟
باید از آی اس پیش بگذریم و ....وقتی کلاينت به سرور کانکت ميشه و سرور اون رو قبول ميکنه کانال اختصاصی بين کلاينت و سرور ايجاد ميشه و تا زمان باز بودن کانال هر ديتا بين سرور و کلاينت ميتونه رد و بدل بشه و برای فرستادن ديتا لازم نيست آيپی کلاينت رو داشته باشيد

قبل از شروع کار بايد با سوکت پروگرمينگ و پروتکل TCP/ip آشنايی کامل داشته باشيد

sia_2007
شنبه 27 شهریور 1389, 19:14 عصر
دوست عزیز؛ تا زمانی که یه پروتکلی رو انتخاب نکنی که State Less نباشه ( مثلا TCP/IP که بهترینشونه از نظر من)؛ و یه فناوری انتخاب نکنی که از اون پروتکل بتونه استفاده کنه؛ ( مثل Socket Programming و WCF )؛ کارت پیش نمیره.
این طوری که شما پیش میری؛ کلاینتهات هر یه ثانیه یه بار باید یه Request بدن به سرور و بگن؛ آیا پیغام جدید داریم ؛ بعد سرور Response بده ؛ 1- آره داشتی ؛ این بود 2- نه نداشتی
این فاجعست.
---
این طوری که نمیشه عزیزم
بعدش هم یه کم فکر کن؛ مگه هر کی با Skype و IM کار میکنه؛ IP ولید داره ؟
فقط سرور باید IP ولید داشته باشه.
شما مشکل کارت اینه که HTTP ای فکر میکنی نه TCP/IP ای
---
اگه میخوای TCP/IP کار کنی؛ باید بری دنبال netTcpBinding
اگه میخوای روی HTTP ؛ امکان Duplex Communication رو شبیه سازی کنی؛ باید برای دنبال wsDualHttpBinding
البته این ها برای WCF هستش
برای Socket Programming هم از دوستان بپرس
البته من یه خط Socket هم کار نکردم؛ ولی هم تئوری اش قابل قبوله و هم دوستان میگن میشه
WCF اش رو که خودم دارم برای Silverlight و Net. ( به عنوان کلاینت )؛ دارم راه اندازی میکنم
قراره تو کل ایران هم کار کنه.
موفق باشی

vof.ir
سه شنبه 30 شهریور 1389, 10:42 صبح
وقتی کلاينت به سرور کانکت ميشه و سرور اون رو قبول ميکنه کانال اختصاصی بين کلاينت و سرور ايجاد ميشه و تا زمان باز بودن کانال هر ديتا بين سرور و کلاينت ميتونه رد و بدل بشه و برای فرستادن ديتا لازم نيست آيپی کلاينت رو داشته باشيد

قبل از شروع کار بايد با سوکت پروگرمينگ و پروتکل TCP/ip آشنايی کامل داشته باشيد

سلام . ممنونم.
خوب . قربون دهان شما،
اگر ممکنه یک مثال برای من بزنید، یک نمونه کد. که من قشنگ پیاده سازیشون ببینم.
یک کوچولو.
توی سوکت پروگرمینگ که باید هر باز که میخواهیم جواب یا درخواست ارسال کنیم بگیم که به کدوم آی پی میخواهیم جواب بدیم.
درسته؟؟؟؟؟
--------------------

دوست عزیز؛ تا زمانی که یه پروتکلی رو انتخاب نکنی که State Less نباشه ( مثلا TCP/IP که بهترینشونه از نظر من)؛ و یه فناوری انتخاب نکنی که از اون پروتکل بتونه استفاده کنه؛ ( مثل Socket Programming و WCF )؛ کارت پیش نمیره.
این طوری که شما پیش میری؛ کلاینتهات هر یه ثانیه یه بار باید یه Request بدن به سرور و بگن؛ آیا پیغام جدید داریم ؛ بعد سرور Response بده ؛ 1- آره داشتی ؛ این بود 2- نه نداشتی
این فاجعست.
---
این طوری که نمیشه عزیزم
بعدش هم یه کم فکر کن؛ مگه هر کی با Skype و IM کار میکنه؛ IP ولید داره ؟
فقط سرور باید IP ولید داشته باشه.
شما مشکل کارت اینه که HTTP ای فکر میکنی نه TCP/IP ای
---
اگه میخوای TCP/IP کار کنی؛ باید بری دنبال netTcpBinding
اگه میخوای روی HTTP ؛ امکان Duplex Communication رو شبیه سازی کنی؛ باید برای دنبال wsDualHttpBinding
البته این ها برای WCF هستش
برای Socket Programming هم از دوستان بپرس
البته من یه خط Socket هم کار نکردم؛ ولی هم تئوری اش قابل قبوله و هم دوستان میگن میشه
WCF اش رو که خودم دارم برای Silverlight و Net. ( به عنوان کلاینت )؛ دارم راه اندازی میکنم
قراره تو کل ایران هم کار کنه.
موفق باشی

سلام. فرمایش شما صد در صد متین،
اما یه سوال، یاهو مسنجر از چه فناوری استفاده میکنه؟
یکی دیگه هم اینکه همونطور که گفتم مگه توی سوکت نباید برای هر جواب یا درخواستی
آی پی را مشخص کنیم؟؟؟

WCF را کار نکردم، اما سوکت پروگرمینگ را ممنون میشم اگه حرف من غلط هست یک نمونه کد بگذارند ببینم. شاید دارم اشتباه میگم.
ممنون از توجه همه دوستان

vof.ir
چهارشنبه 31 شهریور 1389, 11:14 صبح
یک سوال دیگه داشتم اینکه
یعنی WCF بدون اینکه لازم باشه بهش بگیم به کدام IP جواب پس بده،
جواب یوزر را می دهد؟؟؟
من میگم اگر چیزی وجود داشته باشد که مثل HTTP بر اساس Packet دریافتی بتونه جواب را برگردونه خوبه
فقط این تفاوت را داشته باشه که یکبار که بهش درخواس میدی ، دیگه خودش هر وقت خواست به یوزر جواب برگردونه، و نه در ازای هر درخواست یک جواب

ظاهرا شما عزیزان می فرمائید که ممکن هست،

اگر ممکن هست یک مثال کوچک بزنید.
ممنونم
به خدا مشکل خیلیها که میخواهند چت بنویسند که توی نت کار کنه فکر کنم با این تاپیک به کمک شما حل بشه

azar89
یک شنبه 04 مهر 1389, 13:13 عصر
سلام پس با توجه به صحبت دوستان
بهترین گزینه برای راه اندازی سیستمی مثل چت روم استفاده از wcf هست؟

hyperboy
یک شنبه 09 شهریور 1393, 15:07 عصر
http://barnamenevis.org/showthread.php?256083-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DB%8C%DA%A9-%DA%86%D8%AA-%D8%B1%D9%88%D9%85-%D8%AF%D8%B1-%D8%B3%DB%8C%D9%84%D9%88%D8%B1%D9%84%D8%A7%DB%8C%D 8%AA-(%D9%85%D9%82%D8%AF%D9%85%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1-WCF-Duplex-Communication)

در اینجا اموزش کامل پیاده سازی چت توسط wcf گذاشته شده