PDA

View Full Version : سوال: نحوه ی تبدیل برنامه ی ساده به برنامه ی با ساختار سوکت پروگرمینگ



sooren_66
دوشنبه 18 اسفند 1393, 10:10 صبح
با سلام
من یک فایل ساختم که 20 میلیون رکورد تولید می کنه می خواستم ببینم که چطور میشه اونو به نحوی پیاده سازی کرد که با سوکت پروگرمینگ تبدیل بشه و بشه شکستش و هر تیکه ای به یک بین کلاینت داده بشه.


private void button2_Click(object sender, EventArgs e)
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"d:\WriteLines2.txt"))
{
for (int i = 0; i < 20000000; i++)
{

file.WriteLine(i+";"+i+"user");
}
}
}

hamid_hr
دوشنبه 18 اسفند 1393, 10:20 صبح
اگه منظورتون اینه که میخواد این 20000000 رکورد پردازش بشه توسط چند سیستم
شما باید تو سرور یه پورت باز کنی و بهش گوش کنی
تو کلاینتا هم بیای یه پیغام برا سرور به همون پورت بفرستی که من آماده هستم برا پردازش
سرور بیاد یک یا چند رکوردو برا ککلاینت بفرسته
کلاینت اونو پردازش کنه و بفرسته برا سرور
باز دوباره بیاد یه پیغام بفرسته که من آماده هستم برا پردازش
و این کار تا زمانی که همه رکورد ها تمام بشه باید ادامه پیدا کنه

sooren_66
دوشنبه 18 اسفند 1393, 11:02 صبح
اگه منظورتون اینه که میخواد این 20000000 رکورد پردازش بشه توسط چند سیستم
شما باید تو سرور یه پورت باز کنی و بهش گوش کنی
تو کلاینتا هم بیای یه پیغام برا سرور به همون پورت بفرستی که من آماده هستم برا پردازش
سرور بیاد یک یا چند رکوردو برا ککلاینت بفرسته
کلاینت اونو پردازش کنه و بفرسته برا سرور
باز دوباره بیاد یه پیغام بفرسته که من آماده هستم برا پردازش
و این کار تا زمانی که همه رکورد ها تمام بشه باید ادامه پیدا کنه

سوکت پروگرمینگ کار نکردم چه قسمتهایی رو باید به این برنامه اضافه کنم.و برای تقسیم باید فایل شکسته رو چطوری بفرستم

hamid_hr
دوشنبه 18 اسفند 1393, 11:46 صبح
برنامه نویسی سوکت منبع زیاد هست
http://www.itport.ir/1393/03/16/socket-programming-in-c/
http://projectp30.ir/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%D9%88%DA%A9%D8%AA-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%DA%86%D8%AA-%D8%A8%DB%8C%D9%86-client-%D9%88-server-%D8%A8%D8%A7-c/

برا شکستن فایل باید یه متتغیر داشته باشی و توش شماره اخرین سطری رو که ارسال کردی رو داشته باشه
long LastRow = -1;
بعد هر کلاینتی که درخواستو داد بهت براش از اون سطر به بعد مثلا 100 سطرو از فایل بخونی و بفرستی
بعد اون متغییر میشه 99
و اینطوری تا اخر فایل همش خونده میشه

sooren_66
دوشنبه 18 اسفند 1393, 14:12 عصر
برنامه نویسی سوکت منبع زیاد هست
http://www.itport.ir/1393/03/16/socket-programming-in-c/
http://projectp30.ir/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%D9%88%DA%A9%D8%AA-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%DA%86%D8%AA-%D8%A8%DB%8C%D9%86-client-%D9%88-server-%D8%A8%D8%A7-c/

برا شکستن فایل باید یه متتغیر داشته باشی و توش شماره اخرین سطری رو که ارسال کردی رو داشته باشه
long LastRow = -1;
بعد هر کلاینتی که درخواستو داد بهت براش از اون سطر به بعد مثلا 100 سطرو از فایل بخونی و بفرستی
بعد اون متغییر میشه 99
و اینطوری تا اخر فایل همش خونده میشه

این بهترین الگوریتم شکستن فایل هست عایا؟آخه استاد گفتن بهترین الگوریتم باشه از لحاظ سرعت.ممنونم از راهنمایی

hamid_hr
دوشنبه 18 اسفند 1393, 15:16 عصر
این چیزی هست که به زهن من رسید
شما باید شروع کنین به نوشتن
چند الگوریتمو استفاده کنین
با یه تایمر زمانهای رو بدست بیارین بعد ببینین کدوم بهتره