Entwickler-Ecke

Internet / Netzwerk - Computer verbinde


Borlox - Mi 27.11.02 13:32
Titel: Computer verbinde
Hallo Leute,

ich bin ein totaler Anfänger im Umgang mit Inernetkomponenten und möchte nun gerne ein Programm schreiben, das zwei Computer übers Internet verbindet, dass man z.B. Dateien austauscht oder hauptsächlich den Inhalt von Variablen austauscht!

Wie mache ich das am besten und welche Komonenten sind am besten???

DANKE

Borlox


DeCodeGuru - Mi 27.11.02 14:46

TClientSocket und TServerSocket. Guck mal in den Demoordner. Da ist ein Chatbeispiel, das das Senden von Daten schön zeigt. Außerdem kannste in der Hilfe nach den Objekten schauen und nach SendText, SendBuf, SendStream.


Ghost - Mo 16.12.02 18:14

Kopiere den Unteren Code, wechsle zu einer neuen Anwendung und drück Str+V zum einfügen:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
object ClientSocket1: TClientSocket
  Active = False
  ClientType = ctNonBlocking
  Host = 'localhost'
  Port = 2456
  Left = 104
  Top = 8
end
object ServerSocket1: TServerSocket
  Active = False
  Port = 2456
  ServerType = stNonBlocking
  Left = 136
  Top = 8
end
object Button1: TButton
  Left = 16
  Top = 8
  Width = 193
  Height = 25
  Caption = 'Sockets Aktivieren'
  TabOrder = 0
end
object Button2: TButton
  Left = 16
  Top = 40
  Width = 193
  Height = 25
  Caption = 'Sockets Deaktivieren'
  TabOrder = 1
end
object Memo1: TMemo
  Left = 16
  Top = 200
  Width = 185
  Height = 89
  TabOrder = 2
end
object Label1: TLabel
  Left = 16
  Top = 184
  Width = 172
  Height = 13
  Caption = 'Vom Server Empfangene Messages:'
end
object Edit1: TEdit
  Left = 16
  Top = 104
  Width = 185
  Height = 21
  TabOrder = 3
end
object Label2: TLabel
  Left = 16
  Top = 88
  Width = 127
  Height = 13
  Caption = 'Über ClientSocket senden:'
end

Jetzt füge folgende Proceduren der Kompos hinzu:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.Button1Click(Sender: TObject);
begin
ServerSocket1.active:=true;
ClientSocket1.active:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.active:=false;
ServerSocket1.active:=false;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.add(Socket.ReceiveText);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Edit1.text);
end;

Mit den beiden ersten Buttons, Aktivierst und Deaktivierst du die Sockets. Beim Activieren, des Clienten, checkt der sofort ob er sich mit dem Server connecten kann.
Darum sollte der Server vor dem Client aktiviert werden. Button3 sendet eine nachricht über den Client an dern Server.
Alle eingehenden Nachrichten, zeigt der Server im Memo an.

Hab ich dich damit jetzt verwirrt, oder konntest mit folgen?