Hacking  
  Listopad 24 2017 08:30:35  
 
Nawigacja
folder Portal
. Artykuły
. Download
. Forum
. Szukaj
. FAQ
. Regulamin
folder Hacking
. Gry Hakerskie
. Filmy
folder Delphi
. Kursy
. Faq
. Źródła
. Komponenty
. Artykuły
folderWebmaster
. JavaScripts
. Skrypty PHP
folderRóżne
. Kontakt
. Zlokalizuj ip
Aktualnie online
. Gości online: 3

. Użytkowników online: 0

. Łącznie użytkowników: 153,906
. Najnowszy użytkownik: Robertknows
Ostatnie artykuły
. Metoda ataku symlin...
. Asembler x86 w pigułce
. Binder plików z komp...
. [Asembler/MASM] Pobi...
. Braifuck 4 fun
Nawigacja
Artykuły » Delphi artykuły » Komunikator na socketach
Komunikator na socketach

Komunikator na socketach



Witam :) Tym razem pokaze jak napisac prosty komunikator oparty o sockety :P

a wiec na poczatek leci server:
forma : button 2x , memo 1x , edit 1x i ServerSocket 1x
w serversocket ustalamy port przez ktory laczyc sie bedzie client

a teraz kod naszego servera :)



procedure TForm1.Button1Click(Sender: TObject);
begin
Server.Active := True; // uaktywinij serwer
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Server.Active := false; // wylacz serwer
end;

procedure TForm1.ServerClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Klient jest podlaczony') //poinformuj o polaczeniu
end;

procedure TForm1.ServerClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Klient sie rozlaczyl') //poinformuj o rozlaczeniu
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then // jesli wcisniesz ENTER
begin
Server.Socket.Connections[0].SendText(Edit1.Text); //wyslij text
Memo1.Lines.Add(Edit1.Text); //zapisz w //Memo text z pola Edit.Text
Edit1.Text := ''; //wyczysc pole Edit.Text
end;
end;

procedure TForm1.ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(' - '+Socket.ReceiveText); //odbierz wiadomoosc
end;

Mysle ze komentarze wszystko wyjasnily :)

a teraz client:
edit 3x , memo 1x , button 2x i clientsocket 1x

w clientsocket ustawiamy taki sam port jak w serverze :)

i kodujemy:


procedure TForm1.Button1Click(Sender: TObject);
begin
Client.Host := edit1.Text; // host na ktory chcemy sie laczyc
Client.Address := edit2.Text; //j/w
Client.Active := True; //aktywuj Clienta
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Client.Active := False; // wylacz clienta
end;

procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
memo1.Lines.Add('polaczony'); // poinformuj o //polaczeniu
end;

procedure TForm1.ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Add('polaczenie zerwane'); //poinformuj o zerwaniu polaczenia
end;

procedure TForm1.ClientError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
memo1.Lines.Add('nie znaleziono serwera na danym hoscie'); // poinforumuj w razie bledy //podczas laczenia
end;

procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(' - '+Socket.ReceiveText); //czytaj wiadomosc
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then //jezeli wcisniesz ENTER to...
begin
Client.Socket.SendText(Edit3.Text); //wyslij //text
Memo1.Lines.Add(Edit3.Text); //dodaj text //z pola Editdo Memo
Edit3.Text := ''; //wyczysc w Edit pole Text
end;
end;


i to wszystko :) oczywiscie to bardzo prosty komunikator ale mozna go w latwy sposob przerobic. Pozdrawiam :)


Logowanie
Nazwa użytkownika

Hasło



Nie masz jeszcze konta?
Zarejestruj się

Nie możesz się zalogować?
Poproś o nowe hasło
Shoutbox
Musisz zalogować się, aby móc dodać wiadomość.

22-11-2017 05:27
guest test post bbcode <a href="http://gdhyue
i23kol.com/" Chytryhtml</a> http://gdhyuei23ko
l.com/ simple

19-11-2017 23:03
<a href="https://www.a
vissoft.de/damensa
ndaletten/pleaseru
sa-plateau-kniesti
efel-electra-2020-
mattweiss.php" ChytryPleaserUSA Plateau Kniestiefel Electra 2020 mattweiss</a> <a href

18-11-2017 18:28
Dzien dobry Potrzebna kasa? Zaden problem! https://goo.gl/eaN
BmN

17-11-2017 09:45

17-11-2017 08:02

Licznik
31,055,486 unikalne wizyty