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

مساعده عاجله في ال Thread

بدأه Ibraheem Al Masri في 26 أكتوبر 2010 · 1 رد · 405 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
السلام عليكم ورحمة الله

أعزائ أعضاء المنتدى الكريم

أنا حاليا شغال على مشروع إرسال Bulk SMS 

الفكره من هذا المشروع هي القيام بإرسال رسائل إلى الموبايلات طبعا عدد المستقبلين هو 100000 في كل مره

على حسب خبرتي في البرمجه إذا إعتمدت على ال For loop  في هذه المسأله طبعا ستأخذ مني وقت طويل جدا لإنهاء الإرسال

علما بأن عمليه الإرسال لكل رقم وإنتظار تقرير الإستلام تأخذ حوالي 3 ثواني يعني سوف تأخذ النهار بطوله هههههههههههه

المهم انا فكرت في إستخدام  ال Thread لإرسال كل رقم لوحده في نفس الوقت

لكن واجهتي مشكله وهي ان ال Function الذي يقوم بإرسال الرساله يجب أن نمرر له قيمه وهي رقم الموبايل وهذه طبعا ممنوعه في ال Thread لذا أرجو منكم المساعده في إيجاد طريقه لتمرير هذه القيمه

ويمكنكم مشاهدة ال Function في الأسفل

طبعا مع العلم انني لا أريد أن يحدث أي نوع من الجمود للبرنامج أثناء الإرسال يعني في شغله إسمها BackgroundWorker على ما أظن وأنا حاب أعرف طريقة إستخدامها

شكرا لكم جميعا

[code]Thread[] thrdMobileNumber;

 thrdMobileNumber = new Thread[intNumOfMob];

            for (int i = 0; i < thrdMobileNumber.Length; i++)
            {
                thrdMobileNumber = new Thread(new ThreadStart(SendBulckSMS));
                thrdMobileNumber.Name = arlBulckNumber.ToString();
                thrdMobileNumber.Start();
            }

private void SendBulckSMS()
        {
            string Url = "http://localhost:3311/getvalue/Default.aspx?Name=" + thrdMobileNumber.;
            ASCIIEncoding encoding = new ASCIIEncoding();           
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
            myRequest.Method = "POST";
            Stream newStream = myRequest.GetRequestStream();
            newStream.Close();
            HttpWebResponse resp = null;
            try
            {
                resp = (HttpWebResponse)myRequest.GetResponse();
            }
            catch (Exception ex)
            {
                //Exceptions.Add(ex);
            }
            StreamWriter myWriter = null;
            try
            {
                myWriter = new StreamWriter(resp.GetResponseStream());
                //myWriter.Write(data);
            }
            catch (Exception e)
            {
                //Exceptions.Add(e);
                //return VatCheckOk.NotChecked;
            }
            finally
            {
                //myWriter.Close();
            }
            HttpWebResponse objResponse = (HttpWebResponse)myRequest.GetResponse();
            using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
            {
                string result = sr.ReadToEnd();
                arlResult.Add(result);
                sr.Close();
            }
#2

ياريت تقوم بترتيب السؤال -- فالكلام مش مفهوم.

عموما حسب ما فهمت انك تريد تمرر قيمة الى الثريد -- في هذه الحالة ممكن تستخدم ال ParameterizedThreadStart بدال الثريد الاعتيادية.

اريد ان اسألك -- كيف قمت بأرسال الرسائل الى الموبايل ؟ يعني ما هي الالية المتبعة؟

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

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