> Also dass zwei verschiedene Programme auf einem Port lauschen können, wäre mir jetzt neu,
Geht unter Windows, wie Dunedan schon angekündigt hat, problemlos.
Stichwort: HttpListener unter .Net oder http.sys unter anderen Frameworks. Der Windows-Kernel nimmt die HTTP-Anfrage an und leitet diese per Host-Header oder Verzeichnis an die registrierte Anwendung weiter.
Ansonsten würde ich mal unter Reverse oder Forward-Proxy suchen (weiß jetzt nicht was das Korrekte ist).
> ich will meine sachen in c coden
Ich hoffe du hast dich vorher tiefgehend mit dem Thema Sicherheit und C informiert und kannst auswendig sagen was ein Buffer Overflow ist oder uninitialisierte Variablen für Konsequenzen haben.
> Beide Webserver auf einen Port hat nicht funktioniert.
Du kannst nicht per listen auf den Port 80 gehen, sondern sollst für dieses Multiplexing die http.sys bemühen. Dieses ist wie oben schon geschrieben in .Net wunderbar abgekapselt.