ich will mittels synaps über nen Socket Daten empfangen. Zunächst sollen zum Testen diese einfach ausgegeben werden, allerdings bekomme ich dabei immer den Fehlercode 10054 (connection reset by peer). Der Connect mit dem Client an sich funktioniert noch, beim Übermitteln der Nachricht scheint dann beim Empfang etwas schief zu laufen.
Hat jemand 'ne idee, was ich falsch mache?
Hier der Empfänger:
Code: Alles auswählen
sock: TTCPBlockSocket;
[...]
procedure TEchoServer.Execute;
begin
sock.Bind('0.0.0.0', '33335');
sock.Listen;
if sock.LastError <> 0 then
begin
ShowMessage('Error a, ' + IntToStr(sock.LastError));
exit;
end;
buffer := 'execute...';
Synchronize(@display1);
repeat
if terminated then
begin
ShowMessage('Error b, terminated');
break;
end;
buffer := 'Received: ' + sock.RecvPacket(5000);
if sock.lasterror = 0 then
Synchronize(@display1)
else
begin
buffer := 'Error: ' + IntToStr(sock.LastError);
Synchronize(@display2);
end;
until False;
end;
Sender:
Code: Alles auswählen
procedure TForm1.Button3Click(Sender: TObject);
var
sock: TTCPBlockSocket;
abort: boolean = False;
begin
sock := TTCPBlockSocket.Create;
sock.Connect('127.0.0.1', edit2.Text);
if sock.LastError <> 0 then
begin
ShowMessage('Connection error. ' + IntToStr(sock.LastError));
abort := True;
end;
if not abort then
begin
sock.SendString(edit1.Text + CRLF);
end;
sock.CloseSocket;
sock.Free;
end;
Vielen dank schon mal im Vorraus,
Heinz