PDA

View Full Version : سوال: ارسال درخواست و منتظر نماندن برای پاسح PHP



areeef
سه شنبه 25 خرداد 1395, 23:30 عصر
با سلام، با چه روشی میشود درخواستی فرستاد و منتظر پاسح آن نماند ؟ آیا با وب سوکت عملی میشود ؟

یک درخواستی به سرور دیگر باید بفرستیم برای آپلود، حالا این فایل حجمش بالاست طول میکشد آپلود شود ما نمیخواهیم منتظر پاسخ بمانیم.

تشکر.

H:Shojaei
پنج شنبه 27 خرداد 1395, 10:52 صبح
با جاوااسکریپت یا جی کوئری که درخواست بزنید همین اتفاق میافته فایل واسه آپلود ارسال میشه و کدهای ادامه صفحه اجرا میشن...
معمولا این سوال با ایجکس که کار بشه به این صورت پرسیده میشه چطور بعد از ارسال درخواست به سرور منتظر جواب اون بمونه جیکوئری و مشکل این مورده...

areeef
پنج شنبه 27 خرداد 1395, 15:04 عصر
با جاوااسکریپت یا جی کوئری که درخواست بزنید همین اتفاق میافته فایل واسه آپلود ارسال میشه و کدهای ادامه صفحه اجرا میشن...
معمولا این سوال با ایجکس که کار بشه به این صورت پرسیده میشه چطور بعد از ارسال درخواست به سرور منتظر جواب اون بمونه جیکوئری و مشکل این مورده...

چون قرار نیست نتیجه ای سمت کاربر نمایش داده شود، جاوا اسکریپت به کار نمی آید.

joker
پنج شنبه 27 خرداد 1395, 17:32 عصر
چون قرار نیست نتیجه ای سمت کاربر نمایش داده شود، جاوا اسکریپت به کار نمی آید.
خب ربطی نداره این موضوع... چه نمایش بدین چه ندین عملیات آپلود باید کامل بشه .. وقتی از اسکریپت استفاده میکنید هر مرورگر تا 6 thread همزمان برای انجام عملیات را در صفحه وب پشتیبانی میکنه و عملا کاربر متوجه نمیشه ( این اتفاق تا زمانی که صفحه بسته نشده معتبر هست)

bax998
پنج شنبه 27 خرداد 1395, 17:38 عصر
با جاوااسکریپت یا جی کوئری که درخواست بزنید همین اتفاق میافته فایل واسه آپلود ارسال میشه و کدهای ادامه صفحه اجرا میشن...
معمولا این سوال با ایجکس که کار بشه به این صورت پرسیده میشه چطور بعد از ارسال درخواست به سرور منتظر جواب اون بمونه جیکوئری و مشکل این مورده...
دقیقاَ منظورتون از این مورد چی هست
تا جایی که من دیدم وقتی درخواست آپلود با jquery ارسال میشه ابتدا فایل ارسال میشه بعد کد های php اجرا میشن !

areeef
پنج شنبه 27 خرداد 1395, 19:12 عصر
خب ربطی نداره این موضوع... چه نمایش بدین چه ندین عملیات آپلود باید کامل بشه .. وقتی از اسکریپت استفاده میکنید هر مرورگر تا 6 thread همزمان برای انجام عملیات را در صفحه وب پشتیبانی میکنه و عملا کاربر متوجه نمیشه ( این اتفاق تا زمانی که صفحه بسته نشده معتبر هست)

زمانی که اسکریپ php ما به صورت cli اجرا میشود چطوری قرار است کد جاوا اسکریپت ران کنیم ؟

سرور 1 به سرور 2 فقط یک لینک میفرستید و سرور 2 عملیات دانلود و ذخیره را انجام میدهد.

نمیخواهیم این وسط سرور 1 منتظر اتمام کار سرور دوم باشد.

H:Shojaei
پنج شنبه 27 خرداد 1395, 20:31 عصر
دقیقاَ منظورتون از این مورد چی هست
تا جایی که من دیدم وقتی درخواست آپلود با jquery ارسال میشه ابتدا فایل ارسال میشه بعد کد های php اجرا میشن !
بله من منظورم اینه که کدهای جاوااسکریپت میتونن به کار خودشون ادامه بدن حین آپلود دانلود هرچی است...

H:Shojaei
پنج شنبه 27 خرداد 1395, 20:44 عصر
زمانی که اسکریپ php ما به صورت cli اجرا میشود چطوری قرار است کد جاوا اسکریپت ران کنیم ؟

سرور 1 به سرور 2 فقط یک لینک میفرستید و سرور 2 عملیات دانلود و ذخیره را انجام میدهد.

نمیخواهیم این وسط سرور 1 منتظر اتمام کار سرور دوم باشد.
اگر منظور از سرور ۱ همون سرور اصلی و سرور ۲ همون کلاینت هست که داره request , response میده بازم تفاوتی نداره شما درخواست رو با ایجکس به سرور میفرستید سرور کارشو میکنه و کلاینت هم کارشو ... به عنوان مثال میتونید وقتی فایل داره آپلود میشه تو خط های بعد با دستور ایجکس دیگه یه سطر به دیتابیس اضافه کنید یا عملیات دیگه...

areeef
پنج شنبه 27 خرداد 1395, 21:10 عصر
اگر منظور از سرور ۱ همون سرور اصلی و سرور ۲ همون کلاینت هست که داره request , response میده بازم تفاوتی نداره شما درخواست رو با ایجکس به سرور میفرستید سرور کارشو میکنه و کلاینت هم کارشو ... به عنوان مثال میتونید وقتی فایل داره آپلود میشه تو خط های بعد با دستور ایجکس دیگه یه سطر به دیتابیس اضافه کنید یا عملیات دیگه...

سرور و کلاینت هم نیستند ، میخوایم برنامه نویسی موازی کنیم.
همانطور که دو دفعه بالا اعلام کردم قادر به ارسال درخواست آزاکس نیستیم، اگر راهی بلدید زمانی که در محیط cli برنامه اجرا میشود درخواست آژاکس بفرستیم اعلام کنید وگرنه دوستان راه حل دیگری ارایه کنند.

H:Shojaei
پنج شنبه 27 خرداد 1395, 21:36 عصر
آهان اگر اشتباه نکنم میخواید multithread کار کنید درسته این لینک (http://http://stackoverflow.com/questions/70855/how-can-one-use-multi-threading-in-php-applications) ببینید به کارتون میاد

مهرداد سیف زاده
جمعه 28 خرداد 1395, 09:00 صبح
همون فناوری web socket که گفتید بهتر بکار میاد. ولی وب سوکت موقعی که باز شد و داره فایل رو آپلود میکنه، کاربر نباید پنجره رو ببنده و اگر ببنده آپلود فایل تکمیل نمیشه
استفاده از ارسال فایل بصورت async مناسب هست
https://github.com/liamks/Delivery.js
http://stackoverflow.com/questions/11080112/large-file-upload-with-websocket