منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلتين في أرسال بأداة Socket - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكلتين في أرسال بأداة Socket (/showthread.php?tid=8102)

الصفحات: 1 2 3


مشكلتين في أرسال بأداة Socket - Easy4ever - 24-03-13

أخوي قمبت بالتجربه ولاكن لم تنجح معي

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

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


مشكلتين في أرسال بأداة Socket - Sajad - 24-03-13

السلام عليكم

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

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



مشكلتين في أرسال بأداة Socket - Easy4ever - 24-03-13

خطير جدا
أزل سطر التالي

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 نهائي


مشكلتين في أرسال بأداة Socket - Sajad - 25-03-13

السلام عليكم

اجعله في Invoke انظر الى المقال فانا تعاملت مع الInvoke لتلافي هذا الاستثناء



مشكلتين في أرسال بأداة Socket - Easy4ever - 25-03-13

فعلا أشتغل 100% Wink

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

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


مشكلتين في أرسال بأداة Socket - Sajad - 25-03-13

[COLOR="#B22222"]السلام عليكم

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

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

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

لذا لا يوجد أي مشكلة ان شاءالله[/COLOR]



مشكلتين في أرسال بأداة Socket - Easy4ever - 25-03-13

بارك الله فيك أخي الكريم
وجزاك الله خير


[SIZE=5]~ تم الحل ~
[/SIZE]



مشكلتين في أرسال بأداة Socket - Sajad - 25-03-13

[COLOR="#A52A2A"]السلام عليكم

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