Einzelnen Beitrag anzeigen

Benutzerbild von XHelp
XHelp

Registriert seit: 12. Jul 2004
Ort: Duisburg
172 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Daten an anderen PC im Netzwerk senden

  Alt 29. Jul 2004, 11:49
Ich benutze dafür TServerSocket, TClientSocket.

Es muss ein server und ein klient dabei sein. z.B. dein pc ist der server, dann muss auf dem anderen PC klient sein.

Hier ein beispiel mit 1 TMemo, 1 TEdit, 1 TButton, 1 TServer/ClientSocket pro programm
Du machst die komponente auf die form (hier nimmst du TServerSocket)
Dann schreibst du hin:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Port:=4947;
ServerSocket1.Active:=true;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.RemoteAddress + ': Connected');
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('>' + Socket.RemoteAddress + ': ' + Socket.ReceiveText);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to ServerSocket1.Socket.ActiveConnections-1 do begin
  ServerSocket1.Socket.Connections[i].SendText(Edit1.Text);
  Memo1.Lines.Add('<' + ServerSocket1.Socket.Connections[i].RemoteAddress + ': ' + Edit1.Text);
end;
Edit1.Text:='';
end;
Bei dem Client:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Port:=4947;
ClientSocket1.Address:='127.0.0.1';
ClientSocket1.Active:=true;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Connected to ' + Socket.RemoteAddress);
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Disconnected from ' + Socket.RemoteAddress);
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('>' + Socket.ReceiveText);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Edit1.Text);
Memo1.Lines.Add('<' + Edit1.Text);
Edit1.Text:='';
end;
Bei ClientSocket1.Address gibst du die IP adresse anderen PC's
Also mit SendText schickst du deinen text und in ReceiveText kommt er an.
Alex
Von allen Dingen die mir verloren gegangen,
hab ich am meisten an meinem Verstand gehangen
  Mit Zitat antworten Zitat