الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هي هذه الدالة NotifyAddrChange ؟

مغلق
بدأه MSVS في 11 مارس 2005 · 1 رد · 380 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كنت ابحث في الانترنت تحديداً في الرابط :

http://msdn.microsoft.com/library/default...._start_page.asp

فوجدت الموضوع :

Receiving Notification of Network Events

Use the following functions to ensure that an application receives notification of certain network events.

Use the NotifyAddrChange function to request notification of any change that occurs in the mapping between IP addresses and interfaces on the local computer.

Similarly, the NotifyRouteChange function enables an application to request notification of any change that occurs in the IP routing table.

The notifications provided by these functions do not specify what changed; they simply specify that something changed. Use other IP Helper functions, such as GetIPAddrTable and GetBestRoute, to determine the exact nature of the change.

1 - فهل الدالة NotifyAddrChange تجعل الشبكة تزودك بحدث كلما تغير عنوان الأيبي ؟

2 - حبذا لو تفضل أحد بشرح الدوال المستخدمه في البرنامج التالي (مع التفصيل الممل فأنا مبتدئ C++) :

#include <winsock2.h>
#include <windows.h>
#include <iphlpapi.h>
#include <stdio.h>

void main()
{
  OVERLAPPED overlap;
  DWORD ret;

  HANDLE hand = WSACreateEvent();
  overlap.hEvent = WSACreateEvent();

  ret = NotifyAddrChange(&hand, &overlap);

  if (ret != NO_ERROR)
  {
    if (WSAGetLastError() != WSA_IO_PENDING)
    {
      printf("NotifyAddrChange error...%d\n", WSAGetLastError()); 	 
      return;
    }
  }

  if ( WaitForSingleObject(overlap.hEvent, INFINITE) == WAIT_OBJECT_0 )
    printf("IP Address table changed..\n");
}

المصدر

http://msdn.microsoft.com/library/default....yaddrchange.asp

وشكراً لكم مقدماً .

والسلام عليكم

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#2

السلام عليكم

أخ MSVS بالنسبة للدالةNotifyAddrChange فهي كما هو موضح بالشرح الذي أرفقته وظيفتها أن تخبرك بأي تغيير يطرأ على ال IP Address Table Or IP Routing Table وبرأيي فان الفائدة التي ممكن استفادتها من هذه الدالة تكمن في امكانية حعلك للبرنامج اتوماتيكيا يعرف بأي تغيير لل IP وخاصة اذا كان يتعامل مع Dialup connection حيث انك كلما تشبك على الانترنت تحصل على IP and Routing Table مختلف. وبالتالي فانك لا تحتاج الى تغيير ال IP أو المعلومات الاخرى المتعلقة به بنفسك.

أما بالنسبة للبرنامج الذي أرفقته فأنا أفضل أن يشرحه لك أحد متخصص أكثر مني لأني أصنف نفسي الا حد كبير مبتدئا أيضا فبالتالي سأكون مستفيدا مثلك اذا شرح هذا البرنامج من قبل أعضاء آخرين من أصحاب الخبرة في هذا المجال

والسلام عليكم

هذا الموضوع مغلق.

مواضيع مشابهة