কম্পিউটার

কিভাবে C/C++ ব্যবহার করে স্থানীয় কম্পিউটারের IP ঠিকানা পেতে হয়?


এই বিভাগে আমরা দেখব কিভাবে সহজ উপায়ে স্থানীয় সিস্টেমের হোস্ট নাম এবং আইপি ঠিকানা দেখতে হয়। হোস্টের নাম এবং আইপি খুঁজতে আমরা একটি সি প্রোগ্রাম লিখব।

নিম্নলিখিত ফাংশন কিছু ব্যবহার করা হয়. এই ফাংশন বিভিন্ন কাজ আছে. আসুন ফাংশন এবং তাদের কাজ দেখি।

Sr.No ফাংশন এবং বর্ণনা
1 gethhostname()
এটি স্থানীয় কম্পিউটারের জন্য আদর্শ হোস্ট নাম খুঁজে পায়।
2 gethhostbyname()
এটি হোস্ট ডাটাবেস থেকে হোস্ট নামের সাথে সম্পর্কিত হোস্ট তথ্য খুঁজে পায়
3 iten_ntoa()
এটি একটি IPv4 ইন্টারনেট নেটওয়ার্ক ঠিকানাকে একটি ASCII স্ট্রিংয়ে ডটেড দশমিক বিন্যাসে রূপান্তর করে।

উদাহরণ

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
void check_host_name(int hostname) { //This function returns host name for local computer
   if (hostname == -1) {
      perror("gethostname");
      exit(1);
   }
}
void check_host_entry(struct hostent * hostentry) { //find host info from host name
   if (hostentry == NULL){
      perror("gethostbyname");
      exit(1);
   }
}
void IP_formatter(char *IPbuffer) { //convert IP string to dotted decimal format
   if (NULL == IPbuffer) {
      perror("inet_ntoa");
      exit(1);
   }
}
main() {
   char host[256];
   char *IP;
   struct hostent *host_entry;
   int hostname;
   hostname = gethostname(host, sizeof(host)); //find the host name
   check_host_name(hostname);
   host_entry = gethostbyname(host); //find host information
   check_host_entry(host_entry);
   IP = inet_ntoa(*((struct in_addr*) host_entry->h_addr_list[0])); //Convert into IP string
   printf("Current Host Name: %s\n", host);
   printf("Host IP: %s\n", IP);
}

আউটপুট

Current Host Name: soumyadeep-VirtualBox
Host IP: 127.0.1.1

  1. কিভাবে C++ ব্যবহার করে OpenCV-তে রঙ ট্র্যাক করবেন?

  2. কিভাবে C++ ব্যবহার করে OpenCV-এ FPS মান পেতে হয়?

  3. C++ ব্যবহার করে ওপেনসিভিতে বর্তমান ফ্রেমের অবস্থান কীভাবে পাবেন?

  4. সি++ ব্যবহার করে ওপেনসিভিতে একটি নির্দিষ্ট পিক্সেলের মান কীভাবে পাবেন?