PDA

View Full Version : سوال: ارسال چند درخواست همرمان http با vb



123qwe
یک شنبه 06 شهریور 1390, 09:50 صبح
سلام دوستان
من یه برنامه با vb نوشتم که چنتا درخواست را به صورت همزمان برای یک سایت میفرسته و جواب را میگیره این کار روی گوگل جواب داد و همه درخواست ها به جواب های خودشون رسیدند اما سایتی که هدف من هست وقتی چنتا درخواست واسش ارسال میشه فقط به درخواست اخر جواب میده و جواب بقیه درخواست ها با هم یکی میشه (در این برنامه از WebBrowser استفاده شده).
این کار برای بالا بردن سرعت نرم افزار هست به جای 1 درخواست در ثانیه چنتا ارسال میشه

مثلا:
حالت درخواست به صورت تک تک:
درخواست: WebBrowser3 ------------- WebBrowser2 ------------- WebBrowser1
جواب: ------------ c ------------------------------- b -------------------------------- a


حالت درخواست به صورت همزمان (در1 ثانیه):
درخواست: WebBrowser3 ------------- WebBrowser2 ------------- WebBrowser1
جواب: ------------ c ------------------------------- c -------------------------------- c

به نظر شما چطور میشه این مشکل را حل کرد؟

123qwe
یک شنبه 06 شهریور 1390, 10:45 صبح
دوستان من فهمیدم که این سایت بعد از ورود کاربر یه کوکی بهش اختصاص میده و این کوکی تغییر نمیکنه اگر هم پاک بشه انگار از سایت خارج شدیم
اینم نمونه کوکی:

name: JSESSIONID
content: yDJFTZKJ8FbqBT7LYjzn4CFwwD7ff2T6yc78dynfhF02ZBvZxN nd!-1568741243
host: site.com
path: /
send for: Any type of connection
expires: at end of session
به نظر شما راهی برای ارسال چند درخواست به صورت همزمان هست؟

setroyd
یک شنبه 06 شهریور 1390, 15:30 عصر
بین درخواست ها فاصله زمانی بنداز مثلا 3 سانیه یا بیشتر ببین جواب میده این راه .

123qwe
یک شنبه 06 شهریور 1390, 15:40 عصر
بین درخواست ها فاصله زمانی بنداز مثلا 3 سانیه یا بیشتر ببین جواب میده این راه .

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

setroyd
یک شنبه 06 شهریور 1390, 15:43 عصر
خوب شاید اون سایت قادر به انجام این سرعت نیست !!!! پس شما سعی کن سرعت اینترنت و....... رو بسنجی پس حتما نیاز داری شما یا میتونی کاری کنی تو تایمر که وقتی جواب اولی اومد درخواست دومی صادر بشه و جواب 2 اومد 3 صادر بشه و ........

123qwe
یک شنبه 06 شهریور 1390, 15:57 عصر
خوب شاید اون سایت قادر به انجام این سرعت نیست !!!! پس شما سعی کن سرعت اینترنت و....... رو بسنجی پس حتما نیاز داری شما یا میتونی کاری کنی تو تایمر که وقتی جواب اولی اومد درخواست دومی صادر بشه و جواب 2 اومد 3 صادر بشه و ........

نه دوست عزیز تستهای گرفته شده و من اطمینان دارم سرعت اینترنت کشش داره و سایت هم در هر ثانیه قادر هست به میلیونها نفر جواب بده (بر اساس دیده ها و تست ها)
من در حال حاظر میتونم درخواست هام را پشت سر هم ارسال کنم و سرور هم جواب میده اما دنبال اینم سرعت کارم را بالا ببرم پس باید در هر ثانیه چنتا درخواست ارسال کنم اما با مشکل بالا روبرو هستم
ببینید من اگه با چنتا یوزر وارد سایت بشم میتونم چنتا درخواست بدم و با هم قاطی هم نمیشن اما با یک یوزر این مشکل به وجود میاد، حتما میگید یوزر بساز باید بگم امکان ساخت نیست فقط برای افراد خاصی ساخته میشه اونم فقط یکی

setroyd
یک شنبه 06 شهریور 1390, 16:25 عصر
دوست عزیز اون باید به چند میلیون جواب بده میدونم !!!! مشکل از ما به حساب میاد . ببین وقتی زمان میندازی وسطش و میخونه یعنی اینکه سرور قادر به دریافت به صورت پشت سر هم نیست . من این فکرو میکنم .

123qwe
یک شنبه 06 شهریور 1390, 16:46 عصر
دوست عزیز اون باید به چند میلیون جواب بده میدونم !!!! مشکل از ما به حساب میاد . ببین وقتی زمان میندازی وسطش و میخونه یعنی اینکه سرور قادر به دریافت به صورت پشت سر هم نیست . من این فکرو میکنم .

یعنی هیچ راهی وجود نداره؟ هیچ روشی؟
خوب دوست عزیز اگه قادر به دریافت در یک زمان نیست پس چطور وقتی من با چنتا یوزر از روی سیستمم به صورت همزمان درخواست ارسال میکنم درست جواب میده؟

m2011kh
یک شنبه 06 شهریور 1390, 16:56 عصر
میخوای سرعت برنامت پایین نیاد خوب چند هزارم ثانیه بینش فاصله بذار اینکه پشت سر هم جواب نمیده پس چند هزارم ثانیه بینش فاصله بندازی شاید درست بشه(شاید).

123qwe
یک شنبه 06 شهریور 1390, 16:58 عصر
میخوای سرعت برنامت پایین نیاد خوب چند هزارم ثانیه بینش فاصله بذار اینکه پشت سر هم جواب نمیده پس چند هزارم ثانیه بینش فاصله بندازی شاید درست بشه(شاید).

متاسفانه این روش هم نشد!
هزارم ثانیه اثری نداره چون میشه مثل همون، چون بالاخره بین ارسال داده ها هزارم ثانیه فاصله هست این همکانش خیلی کم که با هم توی یک هزارم ثانیه ارسال بشن

m2011kh
یک شنبه 06 شهریور 1390, 17:23 عصر
میتونید تا رسیدن جواب صبر کنین بعد بعدی رو ارسال کنید.

123qwe
یک شنبه 06 شهریور 1390, 17:29 عصر
میتونید تا رسیدن جواب صبر کنین بعد بعدی رو ارسال کنید.

ممنون دوست عزیز، این روش در حال حاضر داره انجام میشه اما من دنبال روشی هستم که بشه سرعت را چند برابر کرد

123qwe
یک شنبه 06 شهریور 1390, 18:11 عصر
چیزی که مشخصه اینه که سرور چون از طریق کوکی کلاینت را پیدا میکنه واسه همین جواب را برای همون کوکی میفرسته اما اگه بشه کوکی را جعل کرد میشه چندتا درخواست فرستاد
ایا امکانش هست که کوکی را جعل کنیم؟

setroyd
یک شنبه 06 شهریور 1390, 21:38 عصر
نه نمیشه چون سرور داره اون رو میخونه و شما قادر به تغییر دستور خواندن اون نیستی این کار فک نکنم امکان پذیر باشه .

setroyd
یک شنبه 06 شهریور 1390, 21:39 عصر
در حال حاضر راحت ترین کار همونه که گفتم که بلافاصله بعداز گرفتن جواب ارسال کنید و ...... .

_behnam_
یک شنبه 06 شهریور 1390, 23:58 عصر
الا باید از webbrowser استفاده کنید؟ :متفکر:
اگه میتونید از inet یا winsock استفاده کنید شاید نتیجه گرفتید

123qwe
دوشنبه 07 شهریور 1390, 00:50 صبح
الا باید از webbrowser استفاده کنید؟ :متفکر:
اگه میتونید از inet یا winsock استفاده کنید شاید نتیجه گرفتید

میشه بگید چطور میشه با winsock به سایتی مثلا گوگل درخواست فرستاد و جواب گرفت؟
نمونه کد اینو اگه بدید بقیش با خودم ردیفش میکنم
متاسفانه هرچی گشتم نتونستم یک نمونه کد خوب پیدا کنم

setroyd
دوشنبه 07 شهریور 1390, 15:41 عصر
کدش نیست شما پکت های ارسال یاهو رو برو ببین با winsock و..... اون موقع متوجه میشی .