Contoh : saat kita memakai item plugin google recaptcha jelas hal tersebut membutuhkan koneksi internet ke google untuk mengaktifkan plugin tersebut bukan?.
Jadi kita bisa gunakan solusi UTL_TCP untuk digunakan dalam pengecekan kondisi apakah aplikasi sekarang sedang bisa akses internet atau tidak.
- Pastikan anda memberi akses ACL google.co.id (contoh) jika memakai 11g.
- Grant akses UTL_TCP ke schema ybs.
- Buatlah sebuah function seperti berikut :
- Gunakan dalam condition di aplikasi APEX untuk me-check apakah jaringan terkoneksi ke internet:
CREATE OR REPLACE FUNCTION PING_INTERNET(P_HOST_NAME VARCHAR2, P_PORT NUMBER DEFAULT 1000) RETURN VARCHAR2 IS tcpConnection UTL_TCP.CONNECTION; --TCP/IP connection to the server C_PING_OK CONSTANT VARCHAR2(10) := 'OK'; C_PING_ERROR CONSTANT VARCHAR2(10) := 'ERROR'; BEGIN tcpConnection := UTL_TCP.open_connection(remote_host => p_HOST_NAME, remote_port => p_PORT,tx_timeout=> 5); UTL_TCP.close_connection(tcpConnection); RETURN C_PING_OK; EXCEPTION WHEN UTL_TCP.NETWORK_ERROR THEN IF( UPPER(SQLERRM) LIKE '%HOST%' )THEN RETURN C_PING_ERROR; ELSIF(UPPER(SQLERRM) LIKE '%LISTENER%' )THEN RETURN C_PING_OK; ELSE RAISE; END IF; END PING_INTERNET; /
select ping_internet('google.co.id', 80) from dual;
Tidak ada komentar :
Posting Komentar