PDA

View Full Version : سوال: امکان ایجاد دو سوکت مجزا بر روی یک ادرس در یک برنامه بور همزمان؟



ali208
یک شنبه 20 شهریور 1390, 18:14 عصر
سلام

ایا امکان ایجاد دو سوکت مجزا (یک سوکت با پروتکل TCPو دیگری UDP) بر روی یک IP ادرس در یک برنامه بطور همزمان وجود دارد؟ ایا باید از Thread استفاده کنم؟
ممنون می شوم راهنمائی کنید

Reza_Yarahmadi
یک شنبه 20 شهریور 1390, 21:51 عصر
بستگی داره که سوکت میخواد به یک پورت گوش کنه یا به سوکت دیگه ای وصل بشه. اگر سوکت ها رو روی سرور به یک پورت بایند کنید و به پورت گوش بدن ، نمیشه 2 سوکت رو تحت هیچ شرایطی رو به یک پورت بایند کرد و باید پورت ها متفاوت باشه. ولی هر سوکت قراره به جای دیگه ای کانکت بشه میشه چندین سوکت بصورت همزمان ایجاد کرد.
برای بحث مالتی ترد کردن هم تقریبا مجبورید که مالتی ترد کار کنید چون خیلی از مواقع سوکت ها منتظر دریافت اطلاعات هستند و در صورت استفاده از یک ترد ، برنامه به حالت Not Response میره.

ali208
یک شنبه 20 شهریور 1390, 23:01 عصر
با سلام
ممنون از پاسختون. برنامه من یک سرور داره و یک کلاینت. ولی می خواهم دو نوع سوکت ایجاد کنم با یک ادرس ip ولی با پورتهای جداگانه و با هر سوکت دو نوع data مختلف بفرستم یا بگیرم در این صورت همانطور که قید فرمودید ایا حتما باید مالتی ترید کار کنم؟

Reza_Yarahmadi
یک شنبه 20 شهریور 1390, 23:31 عصر
برنامه سرور اگه قراره چند کلاینت بهش وصل بشن یا باید از سوکتهای آسنکرون استفاده بشه یا بصورت مالتی ترد پیاده سازی بشه. برنامه کلاینت هم در صورتی که در مواقعی ممکنه منتظر نتیجه از سمت سرور باشه باید به یکی از روش های معرفی شده برای سرور پیاده سازی بشه.