Lucrul cu tclientsocket și tserversocket pe exemplul proiectului mapwindow gis, blogul lui delphi programmer

Lucrul cu tclientsocket și tserversocket pe exemplul proiectului mapwindow gis, blogul lui delphi programmer
Cu câteva zile în urmă, în GIS sale proiecte MapWindows în Delphi am adăugat suport de rețea. Adică, a creat un server separat și un client separat. Ideea este că rulează serverul de aplicații, utilizatorul începe clientul și utilizatorul introduce o interogare: Moscow Tverskaya 6. Serverul apoi procesează solicitarea, primește rezultatele de căutare de la Yandex.Maps și trimite imaginea clientului, atunci clientul este deja în TMap parte componentă este afișată Acest card corespunde solicitării utilizatorului. Ca urmare, utilizatorul poate să-l scadă, să-l salveze și așa mai departe.

Prin urmare, în acest articol vreau să vă spun cum am implementat clientul și serverul. Acest lucru am făcut cu ajutorul TClientSocket TServerSocket și, în acest articol considerăm în detaliu metodele pe care le folosesc la domiciliu, în proiectul dumneavoastră.

Mai întâi, să vedem cum pot fi instalate aceste componente în IDE. Dacă utilizați IDE Delphi 7, în mod implicit aceste componente sunt prezente, însă, din păcate, acestea nu sunt instalate, dar aceasta nu este o problemă. Trebuie doar să deschidem Delphi și să instalăm.

Pentru aceasta, executați comanda Component-Install Packages ... și, în fereastra care apare, faceți clic pe butonul Add (Adăugare). După aceasta, trebuie să specificați calea către fișierul dclsockets70.bpl, care este, în mod implicit, localizat în dosarul BIN. După aceea, apăsați butonul Ok. Toate componentele care trebuie să apară pe fila Internet (TClientSocket și TServerSocket).

În proiectul MapWindow GIS. Am început toată munca, cu o dezvoltare minimă a serverului. Mai întâi, am instalat componenta TServerSocket pe formular. Și făcând clic pe butonul Start, serverul a setat setările inițiale, pentru a-l inițializa:

Pentru a inițializa serverul pe mașina mea, am întrebat numai portul liber (care nu este ocupat de alte aplicații) și l-am activat.

În principiu, totul pentru mine a fost de ajuns că serverul a fost pornit și am reușit să rezolv cererile clienților pe care îi trimit.

Pentru mine au o listă de clienți care se conectează la server și să lucreze în continuare cu ei, am găsit componenta TCheckListBox pe o formă și eveniment componentă OnclientConnect TServerSocket, a scris următorul cod: