procedure TServer.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
var
deleteip: string;
delnum: integer;
i: integer;
begin
deleteip:=Socket.RemoteAddress;
for i:=0 to lbLog.Items.Count-1 do
begin
if lbLog.Items[i]=deleteip then delnum:=i;
break;
end;
lbLog.Items.delete(delnum);
PostMessage(Handle,wm_RefreshClients,0,0);
end;
procedure TServer.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
lbMsg.Items.Add(Socket.RemoteAddress+': '+Socket.ReceiveText);
end;
procedure TServer.SendMsgClick(Sender: TObject);
var
i: integer;
clientselected: integer;
selectedip: string;
begin
clientselected:=-1;
for i := 0 to (lbLog.Items.Count - 1) do
if lbLog.Selected[i] then
begin
clientselected:= i;
selectedip:=lbLog.Items[clientselected];
break;
end;
if clientselected<0 then showmessage('Please select send object')
else
begin
ServerSocket1.Socket.Connections[clientselected].SendText('Server: '+edit1.text);
lbMsg.Items.Add('To '+selectedip+' : '+edit1.text);
end;
end;
procedure TServer.ShutOffClick(Sender: TObject);
var
i: integer;
clientselected: integer;
begin
clientselected:=-1;
for i := 0 to (lbLog.Items.Count - 1) do
begin
if lbLog.Selected[i] then clientselected:=i;
break;
end;
if clientselected<0 then showmessage('Please select an object')
else
begin
ServerSocket1.Socket.Connections[clientselected].Close;
lbLog.Items.Delete(clientselected);
end;
end;
procedure TServer.Timer1Timer(Sender: TObject);
begin
lbLog.Refresh;
end;
procedure TServer.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
var
deleteip: string;
delnum: integer;
i: integer;
begin
deleteip:=Socket.RemoteAddress;
for i:=0 to lbLog.Items.Count-1 do
begin
if lbLog.Items[i]=deleteip then delnum:=i;
break;
end;
lbLog.Items.delete(delnum);
PostMessage(Handle,wm_RefreshClients,0,0);
end;
procedure TServer.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
lbMsg.Items.Add(Socket.RemoteAddress+': '+Socket.ReceiveText);
end;
procedure TServer.SendMsgClick(Sender: TObject);
var
i: integer;
clientselected: integer;
selectedip: string;
begin
clientselected:=-1;
for i := 0 to (lbLog.Items.Count - 1) do
if lbLog.Selected[i] then
begin
clientselected:= i;
selectedip:=lbLog.Items[clientselected];
break;
end;
if clientselected<0 then showmessage('Please select send object')
else
begin
ServerSocket1.Socket.Connections[clientselected].SendText('Server: '+edit1.text);
lbMsg.Items.Add('To '+selectedip+' : '+edit1.text);
end;
end;
procedure TServer.ShutOffClick(Sender: TObject);
var
i: integer;
clientselected: integer;
begin
clientselected:=-1;
for i := 0 to (lbLog.Items.Count - 1) do
begin
if lbLog.Selected[i] then clientselected:=i;
break;
end;
if clientselected<0 then showmessage('Please select an object')
else
begin
ServerSocket1.Socket.Connections[clientselected].Close;
lbLog.Items.Delete(clientselected);
end;
end;
procedure TServer.Timer1Timer(Sender: TObject);
begin
lbLog.Refresh;
end;