procedure TForm1.ComboBox1Select(Sender: TObject);
var i:integer;
begin
i:=combobox1.ItemIndex;
if i=0
then begin
art:='
Server';
serversocket1.Port:=600;
serversocket1.open;
button1.Enabled:=false;
end
else begin
art:='
Client';
ClientSocket1.Host := edit1.Text;
// Setzt die Ip-Adresse des Servers
clientsocket1.Port:=600;
ClientSocket1.open;
// Verbindet den Clienten
button1.Enabled:=true;
end;
form1.Caption:=art;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
art:='
';
form1.Caption:='
';
memo1.Clear;
memo2.clear;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if art='
Server'
then
begin
Memo2.lines.add(Memo1.text);
serversocket1.Socket.Connections[0].SendText(Memo1.text);
memo1.Clear;
end
else
if art='
Client'
then
begin
Memo2.lines.add(Memo1.text);
clientsocket1.Socket.SendText(Memo1.text);
memo1.Clear;
end;
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if art='
Server'
then memo2.Lines.Add('
Client:' + socket.receivetext)
else memo2.Lines.Add('
Server:' + socket.receivetext);
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:longint;
begin
clientsocket1.clienttype:=ctblocking;
listbox1.Clear;
//Alte Einträge löschen
clientsocket1.Host := edit1.text;
//Sagt dem Clientsocket, welcher Host angepingt werden soll
i:=strtoint(edit3.text);
while i<=strtoint(edit4.Text)
do
begin
try
clientsocket1.Port := i;
// der Port wird gesetzt
clientsocket1.open;
//Versuch zu verbinden
clientsocket1.Close;
//Sollte man so weit gekommen sein, wird die Verbindung wieder geschlossen
listbox1.Items.add('
Port ' + inttostr(i) + '
ist offen');
//Meldung, dass Port offen
application.ProcessMessages;
//Messages abarbeiten
except
// Alles ab nun wird ausgeführt, wenn die Verbindung fehlschlug
application.ProcessMessages;
//Messages abarbeiten
listbox1.Items.add('
Port ' + inttostr(i) + '
ist geschlossen');
//Meldung, dass Port zu
end;
// Ende den "Try-Bereiches"
i:=i+1;
end;
// Ende der Schleife
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
clientsocket1.Active:=false;
serversocket1.Active:=false;
end;