PDA

View Full Version : Socket



Yahya 646
یک شنبه 20 مرداد 1392, 00:37 صبح
با عرض سلام و خسته نباشید
سوالی که برام پیش اومده اینه
که چطور در شبکه (لن یا اینترنت ) اطلاعات رو همون تور که ارسال می کنیم دریافت کنیم ؟؟؟
یعنی وقتی که ارتباط TCP بین کلاینت ها برقرار میکنیم و چند بار اطلاعات می فرستیم تو همون چند بار اطلاعات رو دریافت کنیم
واضح تر
وقتی کلاینت اول سه مقدار متفاوت را ارسال می کند کلاینت دوم نیز این اطلاعات را در سه مرتبه دریافت کند نه در یک یا دو یا چهار مرتبه :ناراحت: ؟؟؟؟؟؟؟؟؟؟
اگه سورس کد بزارین ممنون می شم

ali.rk
یک شنبه 20 مرداد 1392, 01:02 صبح
Transmission Control Protocol
مهترين وظيفه پروتكل فوق اطمينان از صحت ارسال اطلاعات است . پروتكل فوق اصطلاحا" Connection-oriented ناميده مي شود. علت اين امر ايجاد يك ارتباط مجازي بين كامپيوترهاي فرستنده و گيرنده بعد از ارسال اطلاعات است . پروتكل هائي از اين نوع ، امكانات بيشتري را بمنظور كنترل خطاهاي احتمالي در ارسال اطلاعات فراهم نموده ولي بدليل افزايش بار عملياتي سيستم كارائي آنان كاهش خواهد يافت . از پروتكل TCP بعنوان يك پروتكل قابل اطمينان نيز ياد مي شود. علت اين امر ارسال اطلاعات و كسب آگاهي لازم از گيرنده اطلاعات بمنظور اطمينان از صحت ارسال توسط فرستنده است . در صورتيكه بسته هاي اطلاعاتي بدرستي دراختيار فرستنده قرار نگيرند، فرستنده مجددا" اقدام به ارسال اطلاعات مي نمايد.

آشنايي با TCP/IP
TCP/IP پروتكل استاندارد در اكثر شبكه هاي بزرگ است . با اينكه پروتكل فوق كند و مستلزم استفاده از منابع زيادي است ، ولي بدليل مزاياي بالاي آن نظير : قابليت روتينگ ، حمايت در اغلب پلات فورم ها و سيستم هاي عامل همچنان در زمينه استفاده از پروتكل ها حرف اول را مي زند. با استفاده از پروتكل فوق كاربران با در اختيار داشتن ويندوز و پس از اتصال به شبكه اينترنت، براحتي قادر به ارتباط با كاربران ديگر خواهند بود كه از مكينتاش استفاده مي كند امروزه كمتر محيطي را مي توان يافت كه نيازبه دانش كافي در رابطه با TCP/IP نباشد. حتي سيستم عامل شبكه اي ناول كه ساليان متمادي از پروتكل IPX/SPX براي ارتباطات استفاده مي كرد، در نسخه شماره پنج خود به ضرورت استفاده از پروتكل فوق واقف و نسخه اختصاصي خود را در اين زمينه ارائه نمود. پروتكل TCP/IP در ابتدا براي استفاده در شبكه ARPAnet ( نسخه قبلي اينترنت ) طراحي گرديد. وزارت دفاع امريكا با همكاري برخي از دانشگاهها اقدام به طراحي يك سيستم جهاني نمود كه داراي قابليت ها و ظرفيت هاي متعدد حتي در صورت بروز جنگ هسته اي

Naghibi
یک شنبه 20 مرداد 1392, 10:11 صبح
راه حلی که به ذهن من میرسه اینه که سایز بافرهای نوشتن و خواندن رو با بسته های ارسالی تنظیم کنین
ReadBufferSize
WriteBufferSize

ali.rk
یک شنبه 20 مرداد 1392, 11:37 صبح
اطلاعات رو با زمان کد بندی کن هم ترتیب هم دفعات درست میشه . فقط یه کم باید خلاقیت داشه باشی

Yahya 646
دوشنبه 21 مرداد 1392, 23:14 عصر
این به فکر خودمم رسید
ولی برنامه را می خوام خیلی ساده و سبک و سریع بنوسیم برا همین باید اطلاعات رو تو هر چند بار که می فرستم تو همون چند بار دریافت کنم
چون ممکنه حجم اطلاعات زیاد بشه تحلیلش سنگین می شه و به منابع و پهنای باند و ترافیک زیاد احتیاج داره

ali.rk
دوشنبه 21 مرداد 1392, 23:50 عصر
یه کامپیوتر رو مرجع کن .

Yahya 646
سه شنبه 22 مرداد 1392, 01:45 صبح
ايني که منظورمه به صورت عادي قابل انجامه
من توي لوکال هاست در ويندوز XP امتحان کردم جواب داد
اينطور که 30 مرتبه اطلاعات رو ارسال کردم و اون اطلاعات رو در 30 مرتبه دريافت کردم
اما توي لوکال هاست ويندوز 7 و شبکه مجازي که با VMware Workstation 9 راه اندازي کردم کار نکرد
اينطور که 30 مرتبه اطلاعات رو فرستادم و اون رو طی 5 تا 8 مرتبه در يافت کردم
کجاي چرخش مي لنگه نمي دونم :اشتباه:

Yahya 646
چهارشنبه 23 مرداد 1392, 00:46 صبح
کسی راه حل خوبی سراغ نداره :ناراحت: