সি # তে পিং ব্যবহার পদ্ধতিটি ব্যবহার করে অর্জন করা হয় Ping.Send(System.Net.IPAddress)
, যা সরবরাহিত (বৈধ) আইপি ঠিকানা বা ইউআরএল-তে পিংয়ের অনুরোধ চালায় এবং একটি প্রতিক্রিয়া পায় যা ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (আইসিএমপি) প্যাকেট বলে । প্যাকেটে 20 বাইটের শিরোনাম রয়েছে যা সার্ভারের প্রতিক্রিয়া ডেটা রয়েছে যা পিংয়ের অনুরোধ পেয়েছে। । নেট ফ্রেমওয়ার্ক System.Net.NetworkInformation
নেমস্পেসে এমন একটি ক্লাস রয়েছে PingReply
যা ICMP
প্রতিক্রিয়াটি অনুবাদ করতে এবং পিনযুক্ত সার্ভার সম্পর্কে দরকারী তথ্য সরবরাহ করার জন্য যেমন বৈশিষ্ট্যযুক্ত রয়েছে:
- আইপিস্ট্যাটাস : হোস্টের ঠিকানা পায় যা ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (আইসিএমপি) প্রতিধ্বনির উত্তর পাঠায়।
- আইপিএড্রেস : একটি ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (আইসিএমপি) ইকো অনুরোধ প্রেরণ এবং সংশ্লিষ্ট আইসিএমপি প্রতিধ্বনির উত্তর বার্তা গ্রহণের জন্য নেওয়া মিলিসেকেন্ডের সংখ্যা পেয়েছে ।
- রাউন্ডট্রিপটাইম (System.Int64) : একটি ইন্টারনেট নিয়ন্ত্রণ বার্তা প্রোটোকল (আইসিএমপি) প্রতিধ্বনি অনুরোধে উত্তর প্রেরণ করতে ব্যবহৃত বিকল্পগুলি পায়।
- PingOptions (System.Byte []) : একটি ইন্টারনেট নিয়ন্ত্রণ বার্তা প্রোটোকল (আইসিএমপি) প্রতিধ্বনির উত্তর বার্তায় প্রাপ্ত ডেফার বাফারটি পেয়ে যায়।
WinForms
সি # তে পিং কীভাবে কাজ করে তা দেখানোর জন্য নীচে একটি সাধারণ উদাহরণ রয়েছে । একটি বৈধ আইপি ঠিকানা সরবরাহ করে textBox1
এবং ক্লিক করে button1
আমরা Ping
ক্লাসের উদাহরণ , স্থানীয় পরিবর্তনশীল PingReply
এবং আইপি বা ইউআরএল ঠিকানা সঞ্চয় করার জন্য একটি স্ট্রিং তৈরি করছি। আমরা PingReply
পিং Send
পদ্ধতিতে নিয়োগ দিই , তারপরে আমরা জবাবটি স্থিতির স্থিতির সাথে স্থিতির সাথে তুলনা করে অনুরোধটি সফল হয়েছিল কিনা তা পরীক্ষা করি IPAddress.Success
। অবশেষে, আমরা PingReply
ব্যবহারকারীর জন্য আমাদের যে তথ্য প্রদর্শন করতে হবে তা থেকে নিষ্কাশন করি, যা উপরে বর্ণিত রয়েছে।
using System;
using System.Net.NetworkInformation;
using System.Windows.Forms;
namespace PingTest1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Ping p = new Ping();
PingReply r;
string s;
s = textBox1.Text;
r = p.Send(s);
if (r.Status == IPStatus.Success)
{
lblResult.Text = "Ping to " + s.ToString() + "[" + r.Address.ToString() + "]" + " Successful"
+ " Response delay = " + r.RoundtripTime.ToString() + " ms" + "\n";
}
}
private void textBox1_Validated(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(textBox1.Text) || textBox1.Text == "")
{
MessageBox.Show("Please use valid IP or web address!!");
}
}
}
}