Entwickler-Ecke

Internet / Netzwerk - Error 10049


Russel-Athletic - Mi 17.09.03 16:11
Titel: Error 10049
Hier bin ich wieder mit einem Problem, wo ich nciht weiter weiß. Mir wird nämlich dauernd gesagt, dass ich den Socket error 10049 habe, der soviel heißt wie es existiert kein server auf der Maschine.
Helft mir bitte.
client:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure Tform1.bsvcontrClick(Sender: TObject);
begin
clientsock.Port:=629;
clientsock.Host:='127.0.0.1';
clientsock.Active:=true;
clientsock.open;
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:=629;
        serversock.active:=true;
        serversock.Open;

end;
end;

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


MSCH - Mi 17.09.03 18:28

ich weiss nicht obs hilft aber,
clientsocket. active:= true und open sind identisch
und

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if serversock.Active then 
begin 
        bsvcontr.caption:='Server ist offline'
        serversock.active:=false; 
        serversock.socket.close; 
end else begin 
        bsvcontr.caption:='Server ist online'
...


ist logisch falsch, denn wenn wenn active=true kann server nicht offline sein.

grez
msch


Russel-Athletic - Mi 17.09.03 19:57

Das ist ein button, womit ich den Server an und ausschalten kann... hab ich in quelltext vergessen zu kopieren.
Edit: Hab ich mal ebend editiert, damit es nicht zu Verwirrung führt.


DaRkFiRe - Do 18.09.03 14:04

Eine Suche bei Google nach Winsock 10049 error gibt Aufschluss.

Da open und active = true identisch sind, versucht der Server gleich 2x, einen LISTEN-Status zu setzen, was natürlich auf ein und denselben Port nich geht.

Winsock meint dazu nur dieses:
Zitat:
WSAEADDRNOTAVAIL 10049 Cannot assign requested address.


Russel-Athletic - Do 18.09.03 16:25

Hat leider nicht geholfen, ich bekomme immer noch den gleiche Fehler. Dabei ist es sogar egal ob der Server an oder aus ist.

ABer trotzdem schonmal danke.