সি # তে পিং ব্যবহার পদ্ধতিটি ব্যবহার করে অর্জন করা হয় 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!!");
}
}
}
}