PDA

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



abbaszz
چهارشنبه 22 خرداد 1392, 23:19 عصر
سلام دوستان
احتمالا میدونید که بانک ملت 2 تا آدرس وب سرویس داره. یکی برای هاستهای داخل ایران:
https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl

و یکی برای هاست های خارج از کشور:
https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl

متاسفانه با این 2 آدرس هم گاهی اتصال به درگاه قطع میشه!
یه بار با این یکی وصل میشه یه بار با اون یکی!

حالا میخوام کدی اضافه کنم که هنگام خرید هر دو لینک رو چک کنه که کدوم وصله. من از این کد استفاده کردم:


$host = 'pgwsf.bpm.bankmellat.ir';
$port = 443;

$connection = @fsockopen($host, $port);

if (is_resource($connection))
وصل
else
قطع

این کد درست کار میکنه اما اگه قطع باشه چک کردن خیلی طول میکشه، میخوام در حداکثر 5 ثانیه تکلیف رو مشخص کنه که وصله یا نه. راهنمایی لطفا اساتید

abbaszz
پنج شنبه 23 خرداد 1392, 12:43 عصر
خروجی :

stdClass Object
(
[headers] =>
[contents] =>
[information] => Array
(
[url] => https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl
[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 0
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[certinfo] => Array
(
)

[redirect_url] =>
)

[errors] => 6 :: name lookup timed out
)
برای تست اتصال از چه کدی باید استفاده کرد؟ اگر در 5 ثانیه وصل بشه عدد 1 رو برگردونه و اگر نه 0

abbaszz
پنج شنبه 23 خرداد 1392, 16:13 عصر
ممنون. اما خیلی بیشتر از 5ثانیه طول میکشه تا مشخص کنه اتصال برقراره یا نه.
اینجوری خریدار منصرف میشه!
راه بهتری نیست؟

iraitc
یک شنبه 12 اردیبهشت 1395, 16:01 عصر
ممنون. اما خیلی بیشتر از 5ثانیه طول میکشه تا مشخص کنه اتصال برقراره یا نه.
اینجوری خریدار منصرف میشه!
راه بهتری نیست؟

یه کرون جاب بنویس که هر یک دیقه یک بار اجرا شه و چک کنه ببینه کدوم درگاه وصل هست و وضعیت رو تو یه جدول ذخیره کنه . بعد موقعی که کاربر میخواد خرید کنه فقط لازمه به دیتابیس یه کوءری بزنی ببینی آخرین بار کدوم درگاه وصل بوده و یوزر رو به همون منتقل کنی .

balalarast
شنبه 18 اردیبهشت 1395, 00:13 صبح
از کد زیر استفاده کنید (ثانیه رو میتونی مشخص کنی):



$host = 'pgwsf.bpm.bankmellat.ir';
$port = 443;
$timeout = 5; // 5 seconds

$connection = @fsockopen($host, $port, $errno, $errstr, $timeout);

if(is_resource($connection)) {
return true;
}

return false;

charcharkh
شنبه 22 اردیبهشت 1397, 15:07 عصر
سلام لطفا در مورد راه اندازی درگاه ملت توی yii2 راهنمایی نمایید من الان سه روز درگیر این مسیله هستم به پشتیبانیشون هم تماس گرفتم میگن مشکل کد پی اچ پی شماست لطفا بگید از چه متدی منظورم soapClient یا از nusoap_client استفاده کردید ؟؟!!!

من هرکاری میکنم نمیشه لطفا راهنمایی