Hallo,
ich habe einen Client und ein Serverprogramm geschrieben, die via TCP miteinander kommunizieren.
Der Server verwendet "bind", der Client nicht.
Sind der Client und der Server auf getrennten Maschinen funktionierts. Wenn alles auf einer Maschine läuft, dann können
die beiden zwar eine Verbindung aufbauen, wenn aber mit poll oder select auf Daten gewartet wird, bricht die Verbindung zusammen ("broken pipe"). Der Server hat die eingestellte Portnummer, der Client verwendet irgendeine freie Portnummer.
Wenn das Timeout für poll 0 ist, funktionierts auch, aber der Client zieht endlos CPU - Zeit, weil dauernd mit recv und "MSG_PEEK" nachgeschaut wird, ob Daten da sind. Was ist da los?