Entwickler-Ecke

Internet / Netzwerk - Socket Error 10053


Russel-Athletic - Fr 08.08.03 00:04
Titel: Socket Error 10053
Also ich will , dass ein CLient seine IP und Histname mithilfe eines Records an einen Server verschickt, bloß bekomme ich immer den Socket error 1053, der mir sagt, dass die Verbindung getrennt wurde. Wäre nett wenn ihr mir helfen könntet
Client:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure Tform1.loginbuttonClick(Sender: TObject);
var rec1:iprec;
begin
clientsock.Port:=628;
clientsock.Host:='192.168.0.1';
clientsock.Active:=true;
clientsock.open;

end;

procedure Tform1.clientsockConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var rec1:iprec;
begin
rec1.clientip:=ip;
rec1.clienthost:=host;
clientsock.Socket.SendBuf(rec1,sizeof(rec1));
end;


Server

Delphi-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:
procedure Tform1.bsvcontrClick(Sender: TObject);
begin
if serversock.Active then
begin
        bsvcontr.caption:='Server ist offline';
        serversock.active:=false;
        serversock.socket.close;
end else begin
        bsvcontr.caption:='Server ist online';
        serversock.Port:=628;
        serversock.active:=true;
        serversock.Open;

end;
end;

procedure Tform1.serversockClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
  var rec1:iprec;
  z:integer;
  begin
  serversock.Socket.ReceiveBuf(rec1,sizeof(rec1));
  z:=1;
  //serversock.socket.ActiveConnections;
  stringgrid.cells[z,1]:=rec1.clientip;
  stringgrid.cells[z,2]:=rec1.clienthost;
end;


lemming - Fr 08.08.03 08:27

Genaue Übersetzung des ERR 10053 ist
Zitat:
Socket error 10053 - Software caused connection abort


lemming - Fr 08.08.03 08:30

Was ist iprec und wo befindet sich das? Btw. wer gibt die Meldung. Der Server Socket oder der Client Socket?


Russel-Athletic - Fr 08.08.03 11:53

Der CLient gibt die Meldung und iprec ist ein Record den ich selbst erstellt habe, zur sicherheit nochmal den code davon:

Delphi-Quelltext
1:
2:
3:
4:
5:
  type
  iprec = Packed Record
  clientip:string[100];
  clienthost:string[100];
  end;


patmann2001 - Di 12.08.03 09:26

Hi Russel-Athletic

Lass ma in der Zeile
Zitat:

Quelltext
1:
 clientsock.Socket.SendBuf(rec1,sizeof(rec1));                    

den clientsock weg und sende nur an

Quelltext
1:
 Socket.SendBuf(rec1,sizeof(rec1));                    

dann sollte es gehen
:)

cu Patmann