আমি এমন একজনকে পেয়েছি যিনি নেটিভ Imageঅবজেক্টের খুব চতুর ব্যবহারের সাথে এটি সম্পাদন করেন ।
তাদের উত্স থেকে, এটি মূল কাজ (এটি উত্সের অন্যান্য অংশের উপর নির্ভরশীলতা রয়েছে তবে আপনি ধারণাটি পাবেন)।
function Pinger_ping(ip, callback) {
if(!this.inUse) {
this.inUse = true;
this.callback = callback
this.ip = ip;
var _that = this;
this.img = new Image();
this.img.onload = function() {_that.good();};
this.img.onerror = function() {_that.good();};
this.start = new Date().getTime();
this.img.src = "http://" + ip;
this.timer = setTimeout(function() { _that.bad();}, 1500);
}
}
এটি আমি পরীক্ষিত (ওয়েব সার্ভার, এফটিপি সার্ভার এবং গেম সার্ভার) সমস্ত ধরণের সার্ভারগুলিতে কাজ করে। এটি বন্দরগুলির সাথেও কাজ করে। যদি কেউ ব্যর্থ হয় এমন কোনও ব্যবহারের ক্ষেত্রে মুখোমুখি হয় তবে দয়া করে মন্তব্যগুলিতে পোস্ট করুন এবং আমি আমার উত্তর আপডেট করব।
আপডেট : পূর্ববর্তী লিঙ্কটি সরানো হয়েছে। যদি কেউ উপরের সন্ধান করে বা প্রয়োগ করে তবে দয়া করে মন্তব্য করুন এবং আমি এটি উত্তরে যুক্ত করব।
আপডেট 2 : @ ট্রান্ট একটি জেএসফিডেল সরবরাহ করতে যথেষ্ট দুর্দান্ত ছিল।
http://jsfiddle.net/GSSCD/203/
আপডেট 3 : @ জোনাথন বাস্তবায়নের সাথে সাথে একটি গিটহাব রেপো তৈরি করেছে।
https://github.com/jdfreder/pingjs
আপডেট 4 : দেখে মনে হচ্ছে এই বাস্তবায়ন আর নির্ভরযোগ্য নয়। লোকেরা আরও জানায় যে ক্রোম আর এগুলি সমর্থন করে না, net::ERR_NAME_NOT_RESOLVEDত্রুটি ছুঁড়ে ফেলে । যদি কোনও বিকল্প সমাধান যাচাই করতে পারে তবে আমি এটিকে গ্রহণযোগ্য উত্তর হিসাবে রাখব।
"/?cachebreaker="+new Date().getTime();প্রয়োজনে img src এর শেষের দিকে যুক্ত করে এড়ানো যেতে পারে ।