Strona 1 z 1

Jak nawiązać połączenie miedzy dwoma programami w Lan ?

Nowy postNapisane: niedziela, 22 listopada 2009, 18:22
przez piotr49
Mam do zrobienia zadanie na zaliczenie. Nie wiem od czego zacząć. Musze napisać program który:
- nawiąże samodzielnie połączenie w sieci lokalnej Lan
- zakładając że w sieci może być 10 000 komputerów
- nie podaje się konfiguracji programu (ip serwera)
- aplikacja serwerowa może być uruchomiona na dowolnym komputerze w sieci
- program jest serwerem i klientem, jeśli w sieci nie ma działającego serwera to aplikacja przejmuje role serwera
-ma umożliwiać wysyłanie informacji tekstowej miedzy klientem i serwerem

Nie mam pojęcia jak nawiązać połączenie miedzy dwoma programami. Chciałem łączyć się po kolei z każdym adresem i sprawdzać czy dostane odpowiedz od wcześniej uruchomionego programu ale przy założeniu 10000 w sieci to nie ma sensu. Ma ktoś jakieś pomysły, sugestie ???

Re: Jak nawiązać połączenie miedzy dwoma programami w Lan ?

Nowy postNapisane: środa, 25 listopada 2009, 20:56
przez piotr49
problem rozwiazany
umiesc na formie :
IdUDPServer

Kod: Zaznacz cały
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//start serwera
  IdUDPServer1->DefaultPort=1152;
  IdUDPServer1->BroadcastEnabled=true;
  IdUDPServer1->Active = true;
  Memo1->Lines->Add(" *** IdUDPServer start ***");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdUDPServer1UDPRead(TIdUDPListenerThread *AThread, TBytes AData,
        TIdSocketHandle *ABinding)
{
  Memo1->Lines->Add(" *** IdUDPServer Read "+TimeToStr(Time())+ "***");
  Memo1->Lines->Add(BytesToString(AData));
  Memo1->Lines->Add("From IP: "+ABinding->PeerIP);
  Application->ProcessMessages();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdUDPServer1->Broadcast("wiadomosc na brodcast",1152);
}


szacunek za http://cyfbar.republika.pl/
Wiem ze to wymaga dużego nakładu pracy, wiedzy i czasu ale mam nadzieje że będziesz ją rozwijaj i aktualizował nadal :)