Beim zweiten kommt dann Error 10043 was daran liegt das der gleiche Port verwendet wird. Ansonsten konnte ich hier keine weiteren Probleme feststellen.
Das kann man vermeiden, wenn man nach Erstellung des Sockets, aber vor dem Aufruf von Bind folgenden Code einbaut:
Delphi-Quellcode:
var
opt: LongBool;
begin
// socket erzeugen
...
opt := True;
if setsockopt(Socket, SOL_SOCKET, SO_REUSEADDR, @opt, sizeof(opt)) <> 0 then
begin
// Fehlerbehandlung
...
end;
// Aufruf von Bind
...
Durch Angabe der Socketoption
SO_REUSEADDR kann der gleiche Socket mehrfach benützt werden.