Hallo Dominik,
ein Proxy ist eine recht kompexe Angelegenheit. Nachdem deine Fragen mehr auf die Grundlagen abzielen, solltetst du dir vielleicht überlegen, ob du nicht vorher ein paar einfachere Projekte erstellst. Teletypechat, Downloader oder http Fileserver wären ein guter Einstieg in die Materie.
ttcpserver und -client kenne ich nicht. Kann dir daher nicht sagen, ob die ähnlich zu programmieren sind wie tserversocket und tclientsocket.
Der serverteil des proxy kann sich KEINE Seite aus dem Internet holen. Der Serverteil kann nur auf der Verbindung antworten, die der Browser aufgenommen hat, um die Seite anzufordern. Im Proxy Programm muss zu dieser Verbindung ein client socket erstellt werden. Da drüber wird zum HTTP server im Internet eine Verbindung aufgebaut und die Seite angefordert. Der http server antwortet, der clientsocket empfängt, die Antwort wird dem Serverteil des proxy übergeben und auf der ursprünglichen Connection wird sie dem Browser geschickt, der ja dort immer noch auf die Antwort wartet.
Als nächstes kommt der Browser drauf, dass da duzende Grafiken auf der Webseite eingebettet sind und er schickt gleich ein paar Anforderungen parallel raus. Die Grafiken liegen auf dem selben host wie der
html text der Seite oder auch nicht. Also bestehenn auf dem serverteil des proxy mehrere connections, für die jeweils clientsockets erstellt werden, um die Anforderungen weiter zu leiten. Die Anforderungen und Antwoten sollen natürlich parallel gehandhabt werden, damit der arme Betrachter am Browser nicht zu lange auf die Seitendarstellung warten muss.
Der Server lauscht, wenn du seine Portnummer definierst und ihn aktivierst.
serversocket1.Port:=80;
serversocket1.Open;
grüsse,
der flossinger