Aaaah. Danke, das war meine Wissenslücke. Ich habe jetzt für jeden neuen Client einen eigenen Thread. Nur habe ich jetzt ein konzeptionelles Problem:
Delphi-Quellcode:
function ClientThread(p: Pointer): Integer;
var
Sock: TSocket;
MsgBuffer: array[0..255] of Char;
resourcestring
rsMsg = 'Client: %s';
begin
Sock := PClientThreadParams(p)^.Sock;
while True do
begin
if recv(Sock, MsgBuffer, sizeof(MsgBuffer), 0) > 0 then
AddLogText(hApp, IDC_LV, Format(rsMsg, [string(MsgBuffer)]), 2);
end;
FreeMem(p, sizeof(TClientThreadParams));
end;
Ich habe jetzt alle Nachrichten, die ankommen, "auf dem Server". Wie verteile ich sie jetzt am besten wieder auf die Clients?