Pues lo unico que tienes que hacer es hacer una comparación de la ip del cliente dentro del evento OnConnect del TServerSocket
la comparacion seria algo asi:
Código Delphi
[-]if AContext.Connection.Socket.Binding.PeerIP='192.168.1.1' then Begin
End;
es un modo muy manual pero sirve, si quieres tener una especia de blacklist podrias crear una lista de tipo tList y buscar el hilo para desconectarlo usando una funcion como esta:
Código Delphi
[-]Function BuscaHiloporIP(direccionIP:shortstring):integer;
var
ListaCXN:tList;
match,i:integer;
Begin
ListaCXN:=ServerSocket.Contexts.LockList;
match:=-1;
Try
IF ListaCXN.Count>0 Then
Begin
For i:=0 to ListaCXN.Count-1 DO Begin
IF TidContext(ListaCXN.Items[i]).Connection.Socket.Binding.PeerIP=direccionIP Then
Begin
match:=i;
break;
end else begin
match:=-1;
End;
End;
End;
Finally
ServerSocket.Contexts.UnlockList;
result:=match;
End;
End;
Un Saludo!