Hi,
zu deinem Code is folgendes zusagen
Delphi-Quellcode:
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
if serversock.Active=false then
begin
bsvcontr.caption:='Server ist online';
serversock.Port:=628;
serversock.active:=true;
serversock.Open;
end;
end;
end;
In dem ersten BEGIN END Block solltest du erst die Sockets schliessen dann den Socket auf false setzten
Delphi-Quellcode:
procedure Tform1.serversockClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var rec1:iprec;
z:integer;
begin
serversock.Socket.ReceiveBuf(rec1,sizeof(rec1));
z:=serversock.socket.ActiveConnections;
stringgrid.cells[z,1]:=rec1.clientip;
stringgrid.cells[z,2]:=rec1.clienthost;
end;
wer soll denn hier lesen?! Der Server oder der Client? In der Procedure Liest der Server wenn der Client list ... aber was? Der Server sollte evl. besser lesen wenn der Client sendet oder?
Delphi-Quellcode:
procedure Tform1.clientsockConnect(Sender: TObject;
Socket: TCustomWinSocket);
var rec1:iprec;
begin
rec1.clientip:=
ip;
rec1.clienthost:=host;
clientsock.open;
clientsock.Socket.SendBuf(rec1,sizeof(rec1));
end;
So das is alles was mit ao aufanhieb auffällt ... evl. kannst du noch nen bissel mehr Code oder gleich das ganze Prog posten dann kann man besser helfen
und sorry wenn ich dich grad nen bissel häftig angefahren hab!!