Avatar billede roz Nybegynder
02. februar 2005 - 17:09 Der er 9 kommentarer og
1 løsning

Send tekst over internettet

Er der nogen der kender to gode komponenter der fungerer nogen lunde ligesom ServerSocker og ClientSocket men som bare virker og internettet istedet for netværket?

Og kan i lige vise hvordan man sender tekst fra en clien til en server med komponenterne?
Avatar billede martinlind Nybegynder
02. februar 2005 - 17:15 #1
kig på INDY pakken der følger med delphi og som kan hentes i nyeste version på nettet gratis
Avatar billede vallemanden Nybegynder
02. februar 2005 - 17:20 #2
brug f.eks. IdTCPClient og server de virker kanon over internettet
Avatar billede roz Nybegynder
02. februar 2005 - 21:55 #3
Okay. Hvordan får jeg så en klient til at oprette forbindelse til den der lige har oprettet forbindelse til serveren (i Serverens OnConnect)?
Avatar billede roz Nybegynder
02. februar 2005 - 23:25 #4
Ændrer lige spørgsmålet lidt.
Hvordan får jeg serveren til at køre så den kan kontaktes via nettet?
Hvordan får jeg hver gang der tilsluttes en klient tilføjet en linje til en listbox hvor der står klientens ip/hostname?

Hvis i kan svare på det får i pointene
Avatar billede vallemanden Nybegynder
02. februar 2005 - 23:33 #5
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
lblog.Items.add('Forbundet med: '+AThread.Connection.Socket.Binding.PeerIP+' : '+DateTimeToStr(now));
end;

procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread);
begin
lblog.Items.add('Afbrugt forbinelse til: '+AThread.Connection.Socket.Binding.PeerIP+' : '+DateTimeToStr(now));
end;

procedure TForm1.IdTCPServer1BeforeCommandHandler(ASender: TIdTCPServer;
  const AData: String; AThread: TIdPeerThread);
begin
lblog.Items.Add('Check af version til: '+adata);
end;
Avatar billede vallemanden Nybegynder
02. februar 2005 - 23:35 #6
iblog er en listbox
Avatar billede vallemanden Nybegynder
02. februar 2005 - 23:37 #7
Hvordan får jeg serveren til at køre så den kan kontaktes via nettet?

Ved at indsætte et port nr i defaultport, som er åben gennem din evt. router, f.eks. 3100
Avatar billede roz Nybegynder
02. februar 2005 - 23:59 #8
En sidste ting. Nu her jeg siddet og leget lidt med det men kan simpelthen ikke få følgende kode til at virke så håber du (eller en anden) lige gider tage et kig på den.
Det ville jeg være meget taknemmelig for :)

SERVER

procedure TForm1.Server1Connect(AThread: TIdPeerThread);
begin
Connections.Items.add(AThread.Connection.Binding.PeerIP);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Server1.Active:= True;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Server1.Active:= False;
end;

procedure TForm1.ConnectionsDblClick(Sender: TObject);
begin
Edit1.Text:= Connections.Items.Strings[Connections.Itemindex];
Button1.Click;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Client1.Disconnect;
Client1.Host:= Edit1.Text;
Client1.Connect;
Client1.WriteLn('hej');
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (Client1.Connected = true) and (Server1.Active = True) then
  begin
  Image1.Hide;
  Image2.Show;
  end
else
  begin
  Image1.Show;
  Image2.Hide;
  end;
end;

procedure TForm1.Server1Execute(AThread: TIdPeerThread);
begin
Memo1.Lines.Add(Client1.ReadLn());
end;

end.


CLIENT

procedure TForm1.Server1Connect(AThread: TIdPeerThread);
begin
Client1.Disconnect;
Client1.Host:= AThread.Connection.Binding.PeerIP;
Client1.Connect;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Server1.Active:= True;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Server1.Active:= False;
end;

procedure TForm1.Server1Execute(AThread: TIdPeerThread);
begin
if Client1.ReadLn() = 'hej' then Client1.WriteLn('hej');
end;

end.
Avatar billede roz Nybegynder
03. februar 2005 - 00:13 #9
Kan være jeg lige skal sige at det eneste den gør når man trykker på connect er at den kommer med en "fejllyd" på den anden computer.
Avatar billede roz Nybegynder
07. juni 2005 - 16:04 #10
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester