منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلتين في أرسال بأداة Socket
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
أخوي قمبت بالتجربه ولاكن لم تنجح معي

أنظر للمرفق قمت برفع لك المثال الذي أنشأته

والمحاوله التي قمت به أنظر إليه
السلام عليكم

تفضل المثال في المرفقات بعد التعديل

لكن يجب ان تضغط عرض النص مرتين لكي يعرض لك النص (ربما يكون السبب تأخير وصول البيانات)
خطير جدا
أزل سطر التالي

System.Threading.Thread.Sleep(1000)

لان الأمر إللي قبله
Application.DoEvents()

يلبي بالغرض بحيث لا ينتقل إلى الأمر الأرسال التالي حتى ينتهي من الأول ويستقبل أنه تم الأستلام لانك تتعامل مع بروتوكول TCP/IP Wink

طيب في طريقه تخليه يعرض البيانات دون الضغط على زر عرض ؟
لاني حاولت أعرضها بنقل الكود إللي موجود بكود العرض بعد نهاية الاستلام الأخير
ولاكن يحدث خطأ في كود العرض هذا نص الخطأ

Cross-thread operation not valid: Control 'TextBox1' accessed from a thread other than the thread it was created on.

وكأنه لا يعترف بالـ TextBox1 نهائي
السلام عليكم

اجعله في Invoke انظر الى المقال فانا تعاملت مع الInvoke لتلافي هذا الاستثناء
فعلا أشتغل 100% Wink

سؤال أخير ونخلص من القصه كلها
هل المشكله هذي تحدث فقط مع التعامل بإدخال القيم في الأدوات ولا تحصل في جميع التغييرات على البرنامج

يعني لو أملك مثلا قاعدة بيانات
وأبيه إذا استلم الملف يقوم بإضافته إلى قاعدة البيانات تلقائي عن طريق كود الإضافه الشهير باستخدام ADO.Net
هل سيقبل عادي ولا لازم اسوي له مثل هذي الحركه
[COLOR="#B22222"]السلام عليكم

اسف على التاخير

اخي الكريم هذه ليست مشكلة بالمعنى الدقيق وانما المقصود من الاستثناء أن البرنامج الرئيسي يعمل على Thread (مسلك) مستقل عن الThread الخاص باستقبال الرسالة لذا لا يجوز التداخل بين عمل الاثنين يعني كل Thread يجب أن يعمل بمعزل عن الاخر.

وهذا الشرح من المقال الاول الذي كتبته وتوجد في الصفحة الثالثة من قسم مقالات ال#C
إقتباس :اهم ملاحظة في طرف المستقبل هي استخدام دالة الInvoke الخاص باداة الTextbox لانشاء Delegate جديدة عن طريق الMethodInvoker ,حيث عند عدم انشاء delegate سيظهر Exception اثناء استقبال الرسالة لان الاداة التي نريد عرض الرسالة داخلها تعمل على مسلك آخر غير المسلك التي نعمل عليها لذا يجب فصله عن طريق دالة الInvoke وذلك بعمل delegate نضع داخلها الTextbox وذلك لعرض البيانات داخلها للحؤول دون ظهور استثناء يعرقل عمل البرنامج.

لذا لا يوجد أي مشكلة ان شاءالله[/COLOR]
بارك الله فيك أخي الكريم
وجزاك الله خير


[SIZE=5]~ تم الحل ~
[/SIZE]
[COLOR="#A52A2A"]السلام عليكم

الحمد لله اتمنى لك التوفيق ان شاءالله Smile[/COLOR]
الصفحات : 1 2 3