Autor Beitrag
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Fr 26.07.02 14:08 
Ich habe ein Problem mit den Socket Komponenten. Ich habe zwei miteinander vernetzte Computer. Auf einem läuft der Client:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
begin
        ClientSocket1.Address := Edit1.Text;
        ClientSocket1.Active := true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
        Clientsocket1.Socket.Sendtext( 'Hello World');
end;


Auf dem anderen der Server:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
        ShowMessage('Client has connected!');
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
        ShowMessage( Socket.ReceiveText);
end;


Wenn ich nun versuche, eine Verbindung herzustellen, sprich, ein Klick auf Button1, erhalte ich folgenden Fehler:
Asynchronous socket error 10049.

Ich bitte um Hilfe :( .
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Fr 26.07.02 18:52 
Verwende beide den gleichen Port? Wird der Prot ggf. von einer anderen Anwendung schon verwendet?

_________________
Viele Grüße
Jakob
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Sa 27.07.02 00:57 
Ports checken und sonst mal mit ClientSocket1.Host:=IPADDR.;
M4EiB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Sa 27.07.02 06:24 
hast du den server auch aktiviert?
ausblenden Quelltext
1:
ServerSocket1.Active := true;					
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 27.07.02 10:14 
soweit ich mich erinnern kann, hatte ich einen solchen Fehler auch mal, als ich Daten übers Netzwerk mit meinem Programm versendet habe. Damals lag das Problem darin, dass Server die Verbindung gekappt hatte und trotz der bestehenden Verbindung versucht hatte, wieder über den gleichen Port zu verbinden, was dann halt in dem Fehler endete. Nun ja, ich weiss halt, nicht, ob es genau der gleiche Fehler war. Wäre aber ein Ansatz.

_________________
Viele Grüße
Jakob
O'rallY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Sa 27.07.02 16:45 
Danke erstmal für die Hilfe. Ist mir ziemlich peinlich, aber ich habe nicht daran gedacht, mal andere Ports auszuprobieren. :oops: Ich habe den Port auf der Standardeinstellung 0 gelassen. Vermutlich gab es dann einen Konflikt. Auf jedenfall funktionierts jetzt.
O'rallY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Sa 27.07.02 16:48 
Aber ich hab noch ne Frage zu den Socks. Gibt es eine Funktion, die es der Server Komponente ermöglicht, rauszufinden, welche IP versucht eine Verbindung aufzubauen?
Klar, man könnte es machen, dass der Client jedesmal seine IP sendet, doch das geht bestimmt viel einfacher!
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 27.07.02 20:42 
klar geht das. Einfach im OnClientConnect-Ereignis folgenden Code einfügen:

ausblenden Quelltext
1:
ShowMessage(Socket.RemoteAddress);					

_________________
Viele Grüße
Jakob
O'rallY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Mo 29.07.02 09:52 
ich danke schön