Tclientsocket & tserversocket

Acasă »Articole de programare» Borland C ++ Builder - Toate articolele »

Discutați pe forum

În C ++ Builder 6, pentru a transfera orice informație prin rețea, este mai convenabil să utilizați componentele filelor Internet: TClientSocket și TServerSocket.







Pentru a înțelege mai bine activitatea acestor componente, vă propun să scrieți un simplu chat de rețea, exemplul căruia puteți vedea cu ușurință componentele în acțiune.

Mai întâi, creați un nou proiect (File-> New-> Application), puneți componentele pe formular:

TClientSocket și TServerSocket. astfel încât programul nostru ar putea fi atât un client, cât și un server (nu în același timp, bineînțeles;)).

Apoi, plasați componenta TMemo (fila Standart) - în ea, așa cum ați ghicit, textul chat-ului va fi afișat.

În continuare, pe formularul de care aveți nevoie să renunțați la componenta TEdit (Standart) - în acesta vom scrie textul care trebuie trimis către interlocutor.

Și, bineînțeles, este greu să faci fără butonul de trimitere - vom arunca pe formularul TButton. În plus față de ceea ce există deja pe formular, avem încă nevoie de trei butoane și două editări (TEdit) (scopul lor este descris în cursul accesului la ele).

Acum schimbăm proprietățile:

Eliminăm textul în toate Ediths. Proprietatea Memo1-> ReadOnly este adevărată.

Proprietățile ClientSocket1-> Port și ServertSocket1-> Port trebuie să aibă aceleași valori, astfel încât Serverul și Clientul să asculte și să lucreze pe același port. Puteți selecta un număr (de exemplu, 1024).







Tasta "Deconectare" ar trebui să fie inițial inaccesibilă (Enabled = false), deoarece la început nu avem nicio legătură între nimeni și nimeni.

Apoi, descriem operatorii de evenimente pentru butoanele "Creare", "Conectare", "Deconectare".

Butonul "Noi" - activează serverul. Începe să asculte portul de la client.

Deci, programul nostru a devenit server.

Să descriem clientul (butonul "Conectare")

În Edit3-> Text, introduceți 127.0.0.1 - se presupune că va fi testat pe un singur computer (care nu ar deranja pe alții :)

Deci, ați scris minimul necesar pentru a stăpâni componentele.

Dar cine vrea să se oprească. Un chat pentru a termina. Corect scriem mai departe:

Apoi vom descrie proprietățile componentelor Clientului și ale serverului OnConnect (când s-au alăturat).

Atunci când sunteți un server și v-ați alăturat, Memo va afișa o inscripție.

Pentru client, e aproape așa.

Este clar, da. Excelent. atunci rămâne doar să vă spun de ce Edit2 pe formular și să descrieți butonul "Trimitere".

Avem nevoie de Edith2 pentru porecla ta. La urma urmei, ce chat fără porecla.

Acum, cel mai important lucru este descrierea butonului "Trimiteți".

Acum, să ne uităm la acest buzunar de cod.

Dacă suntem un server, atunci trimitem linia noastră la primul client din listă (chat-ul este dublat). în caz contrar.

Trimitem șirul la server.

Indiferent de cine suntem (client-server)

De asemenea, este necesar să se descrie recepția informațiilor și înregistrarea acestora în Memo1. Acest lucru este realizat de un handler de evenimente OnRead de la TClientSocket și TserverSocket.

Asta ar fi tot. Cu TClientSocket și TserverSocket găsite. și care a fost interesat de subiectul chat-ului, mergeți la secțiunea "Programele mele" și descărcați programul pe care l-am completat cu un număr mare de setări împreună cu sursele.

Inscrisa de: Victor
"Numărul poate fi ales oricare (de exemplu, 1024)" acest lucru nu este în întregime adevărat, puteți specifica doar chile mai mult de 1024, deoarece până la 1024 toate porturile sunt deja ocupate.

Forumul programatorului
știri
comentarii
Programator magazin
Catalog de legături
căutare
Adăugați fișier
feedback-ul

Casino volcano automat bani magie joacă gratuit igrovoi-club-vulkan.com.







Trimiteți-le prietenilor: