الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال للاخ Prof

مغلق
بدأه semsem0737 في 19 فبراير 2005 · 5 رد · 496 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخي Prof .. انت كنت ارفقت مثال من قبل للـ WinsockCode ( بدون اداة الـ winsock ) في موضوع قديم .. هل تتذكره ؟

هو بس فيه مشكلة :unsure: : انه لما اشغله كـ server مثلا .. فلما اعمل connect من الـ client يشتغل تمام ، اما لما افصل ( dicconnect ) و احاول اوصل تاني مش يشتغل و يظل الـ servers.state = 0

؟؟؟؟؟؟؟

انا حاولت اعمل close ثم listen تاني بعد ما الـ state = 0 .. لكن برضو مش شغالة وبعدين يعطي error : Address already in use و بعدين يقفل البرنامج :blink:

فما الحل ؟ ...

وشكرا جزيلا ، و اسف للازعاج

سبحان الله و بحمده ... سبحان الله العظيم

#2

:wacko: ؟؟؟؟؟؟؟؟؟؟ :wacko:

سبحان الله و بحمده ... سبحان الله العظيم

#3

اهلا اخي العزيز ،

اخي ،، حتي تجعل برنامجك يدعم تعدد المستخدمين لابد وان يكون للسيرفر 2 وين سوك واحدة مستمعة Listin والاخري مصفوفة قابلة للزيادة Array وعند استقبال اي طلب من اي مستخدم فتقوم بانشاء عنصر جديد في المصفوفة واسناد الاتصال اليها .

ملاحظة ، عند اغلاق السيرفر في الحدث Form_Unload دائما قم بغلق السوكت عن طريق الامر التابع لها Winsock.CloseSocket

ارجوا ان اكون قد وضحت الفكرة واذا ما زالت الفكرة غير واضحة اخبرني.

تحياتي

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#4

اخي الكريم ...

شكرا علي ردك

انا كان قصدي ان الاخطاء التي تحدث كانت للبرنامج لمستخدم واحد و ليس متعدد المستخدمين .. لكن شكرا علي هذه المعلومة الاضافية

اما بالنسبة لغلق السوكت فانا مش عملت closesocket في الـ Form_Unload و بس .. لكن دا انا كمان عملت timer1 (interval=10

Timer_timer()

if servers.state=0 then

sockets.closesocket

servers.closesocket

server.localport = 303

servers.listen

end if

end sub

و برضو فيه error لما اعمل disconnect ثم connect مرة اخري .. و لما اعمل debug يجيب الخطأ في الـ class اللي تبع الproject :blink:

و مش عارف اعمل ايه :wacko: ؟؟؟؟؟

سبحان الله و بحمده ... سبحان الله العظيم

#5

؟؟؟؟؟؟؟؟؟؟؟؟

سبحان الله و بحمده ... سبحان الله العظيم

#6

فقط في حدث Close اعمل Winsock.CloseSocket

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

هذا الموضوع مغلق.

مواضيع مشابهة