View Full Version : قطع و وصل شدن متوالي كانكشن!!
unit001
چهارشنبه 20 دی 1391, 16:44 عصر
با عرض سلام.
يه سوال داشتم. من داخل برنامم جوريه كه بايد هر 1 ثانيه با winsock با يه برنامه ي ديگه تو همون كامپيوتر ارتباط برقرار كنم و اطلاعات رو بفرستم و بگيرم. ولي يه مشكلي كه دارم اينكه كه بعد يه مدتي ديگه winsock وصل نمي شه يا برنامه Don't send مي ده.
كسي مي دونه مشكل چيه. winsock تعداد كانكشن محدودي داره.
مشكل ديگه هم اينكه كه بعد از همون مدت از درايو share شده اي تويه سيستم ديگه باشه، اجازه دسترسي به اون درايو رو هم ديگه نمي ده.
با تشكر.
Mr'Jamshidy
چهارشنبه 20 دی 1391, 18:24 عصر
بستگی به کدی که شما نوشتی داره
هر وینساک ایندکس شده میتونه 65535 کانکشن همزمان داشته باشه
کلا اینطور موارد زمانی پیش میاد که اون طرف خط کانکشن رو بسته باشه و این طرف هنوز باز باشه و دوباره کانکت کنه
ولی بازم به کدت بر میگرده
unit001
چهارشنبه 20 دی 1391, 19:26 عصر
با عرض سلام مجدد.
نه کد من از لحاظ close کردن یا ایندکس کردن مشکلی نداره.
اون طرف هم close می کنه. من فکر کنم از ویندوز باشه که وقتی پشت سر هم به یه چیزی کانکت می کنی, نمی دونم شاید دیگه اجازه نمی ده. توی یه حالتی یه خطا می داد که می گفت buffer کم آورده یا همچین چیزایی!! علت اینکه اینجوری دقیق نمی تونم بگم به خاطر اینه که این اشکال همیشه پیداش نمی شه. بعضی وقتا اونم یهویی می شه!
با تشکر.
Mr'Jamshidy
چهارشنبه 20 دی 1391, 23:00 عصر
با عرض سلام مجدد.
نه کد من از لحاظ close کردن یا ایندکس کردن مشکلی نداره.
اون طرف هم close می کنه. من فکر کنم از ویندوز باشه که وقتی پشت سر هم به یه چیزی کانکت می کنی, نمی دونم شاید دیگه اجازه نمی ده. توی یه حالتی یه خطا می داد که می گفت buffer کم آورده یا همچین چیزایی!! علت اینکه اینجوری دقیق نمی تونم بگم به خاطر اینه که این اشکال همیشه پیداش نمی شه. بعضی وقتا اونم یهویی می شه!
با تشکر.
کلا ویندوز همینطوریه
یادمه اولین برنامه ای که نوشته بودم کنترل سیستم تحت شبکه بود
بهد من داخل رجیستری ویندوز یک مقدار ذخیره کرده بودم مه اگر اون مقدار مساوی 0 بود برنامه ساعت سیستم رو نشون بده و اگر 1 بود ساعت زمان باقی مونده به شات دان سیستم
مشکلی که بود در طول برنامه من یک سره در یک تایمر چک میکردم که مقدار داخل رجیستری چیه و بعد لیبل رو بروز میکردم
این کار مشکلی نداشت ولی بعد از حدودا 10 دقیقه مقدار داخل رجیستری فقط 0 بازگشت داده میشد
احتمالش هست شما هم مشکل مشابهی داشته باشید
M.T.P
پنج شنبه 21 دی 1391, 12:18 عصر
من پروژه های بزرگ تحت شبکه رو با وینسوک نوشتم ، احتمالا مشکل از کدهاتون هست...
باید مشکل رو شکفته تر مطرح کنید.
unit001
پنج شنبه 21 دی 1391, 12:54 عصر
با تشكر از جوابتون.
ببينيد برنامه من طوريه كه بايد هر ثانيه يا كمتر از 1 ثانيه به يه برنامه ي ديگه كانكت بشه.(با Winsock) كه برنامه ي مقصد هم Service هست.
حالا نمي دونم مشكل از كجاست كه بعد از يه مدتي ديگه به مقصد كانكت نمي شه و در حالت Connecting مي مونه!
اين مشكل هم قطعي پيش نمياد كه بشينم قشنگ بررسيش كنم. هر از چند گاهي اينجوري مي شه كه دفعه ي قبلي كه اينجوري شده بود من چك كردم ديدم برنامه مقصد كاملا قفل كرده ولي سوكتش در حالت Listen هست. حالا ديگه اصلا برنامه مقصد بسته هم نمي شد.( از راه بستن service هم بسته نشد)!!
حالا مي خواستم بدونم كه اين مشكل از برنامه مقصد مي تونه باشه. يا از برنامه ي من!
با تشكر.
M.T.P
جمعه 22 دی 1391, 12:25 عصر
خب کد پذیرش اتصال سمت سرور چطوریه؟
آیا هربار یه آبجکت جدید از آرایه وینسوک می سازید؟
آبجکت های قبلی وینسوک که ارتباطشون قطع شده و بلااستفاده موندند چی؟ اوانا رو Unload می کنید؟
از حلقه ها استفاده کردید ؟
اگه می تونید کد ها رو اینجا قرار بدید.
unit001
جمعه 22 دی 1391, 16:57 عصر
با سلام
بله از آرايه استفاده كردم به صورتي كه تايمر مي ياد يه winsock لود مي كنه بعد دستور وصل رود مي ده و در حالت Close و error هر سوكتي هم دستور winsock(Index).close و هم دستور Unload Winsock(Index) رو قرار دادم. از وقتي هم كه كانكت مي شه تا وقتي كه سوكت بسته شه وقت زيادي نيست(كم تر از نيم ثانيه).
در اين حالت بعضي وقت ها كه خيلي هم كم هست هم در حالت كد نويسي و هم در حالت Compiled خطاي Dont Send رو مي ده و بسته مي شه.
طرف سرور رو خودم ننوشتم كه كدش رو بتونم ببينم. يه برنامه ي ديگه هست كه من از اون استفاده مي كنم.
با تشكر
M.T.P
شنبه 23 دی 1391, 12:09 عصر
خب شما که سمت کلاینت هستید نیازی نیست که از آرایه استفاده کنید و هر بار
یک وینسوک بسازید و بعد بخواید Unload کنید.
میشه کاری کرد که نیاز به Load و Unload نباشه... کار برنامه کلاینت رو هم که عنوان
نکردید ، همه چیز مبهمه...
unit001
یک شنبه 24 دی 1391, 22:25 عصر
با سلام
من کاری کردم که نیاز به Load و Unload نباشه. حالا ببینم چی می شه. اگه مشکل بر طرف نشد می گم.
با تشکر.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.