Dziękuję za odpowiedź...
Ale mam jeszcze jedno pytanie, bo dopiero teraz się zorientowałem że odbierałem DHCPDISCOVER tylko od siebie... Gdy wyłączam usługę Klient DHCP, to nie odbieram DHCPDISCOVER od innego komputera, a on takowe wysyła ( sprawdzałem w Wiresharku ).
Oto fragment kodu odpowiedzialny za odbieranie datagramu:
//------------------------------------------------------------------------
// Utworzenie gniazda
//------------------------------------------------------------------------
if (WSAStartup( MAKEWORD( 2 , 0 ) , &WSD) != 0) {
Label1->Caption="Nie udało się wczytac biblioteki WinSock...!";
}
d_socket=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
char broadcast = '1';
if(setsockopt(d_socket,SOL_SOCKET,SO_BROADCAST,&broadcast,sizeof(broadcast)) < 0)
{
Label1->Caption="Błąd podczas ustawiania opcji broadcastu...";
closesocket(d_socket);
}
//------------------------------------------------------------------------
// ODEBRANIE datagramu
//------------------------------------------------------------------------
SenderAddr.sin_family=AF_INET;
SenderAddr.sin_port=htons(67); // port: 67 - serwer, 68 - klient
SenderAddr.sin_addr.s_addr=htonl(INADDR_ANY);
if (bind(d_socket,(sockaddr*)&SenderAddr, sizeof (SenderAddr)) < 0)
{
Label1->Caption="Nie udało się wykonac bind dla socketu...";
closesocket(d_socket);
}
recvfrom(d_socket,RecvBuf,BufLen,0,(SOCKADDR *)&SenderAddr,&SenderAddrLen);
Bardzo proszę o pomoc, bo już nie wiem co jest źle...
Pozdrawiam