Indy wird wohl für so etwas häufig benutzt, dann fällt mir noch ICS (
http://overbyte.be) ein.
Es komplett selber mit der Socket-
API machen kann auch Spass machen, wenn man ein bisschen Zeit dafür hat
, dazu gibt es glaube ich auch bei Delphi-Treff ein Tutorial..