003
21.05.2003, 18:42 Uhr
mike
Pinguinhüpfer (Operator)
|
Hi! Naja: Apache ist Open Source - so weit ich das weiß Aber solchen Source zu verstehen, setzt schon fast eine Beteilung am Projekt voraus! Der einfachste Weg um zu lernen, wie das ganze funktioniert, wäre bestimmt mal ein NT zu sniffen und den Traffic sich anzuschauen. Ist zwar eine Menge Arbeit - zeigt aber wirklich alles. Oder du probierst es gleich in der MFC. Da wäre es wohl am besten, einfach einen 0815 Client zu schreiben und mal Verbindung zu einem HTTP Server aufzunehmen - um die Darstellung der Seite brauchst du dich normalerweise nicht zu kümmern. Ich hab so was bis jetzt nur mit einem POP Server gemacht Darum bin ich mir auch nicht sicher, wieweit der Server Dateien selbstständig verschickt. Aber laut meiner Apache Logfile, fragt der Client für jedes Bildchen und für jeden Text selbstständig an. Also wäre deine Aufgabe nur, auf eine Anfrage die gewünschte Datei zu verschicken. Lange Rede - kurzer Sinn (folgendes Sample ist nicht getestet ) 1. Erstell eine MFC basierende Anwendung (z.B. SDI) 2. AKtiviere WinSocks im Assi - falls du dein Projekt jetzt schon ohne WinSocks erstellt hast: unter den registrierten ActiveX Steuerelementen gibts eine Datei Namens "WinSocks" -> einfach ausführen 3. Erstelle eine neue Klasse und mach sie public von CAsyncSocket 4. Dann füg einfach die virtuelle Funktion OnReceive ein. Dort schreibst du lauter if Abfragen rein:
C++: |
if(!strcmpi(szBuffer, "GET") { //Datei an Client Senden //Zugriff auf CAsyncSocket Variable, welche im Normalfall im Dialog definiert ist
|
So könnte es möglicherweise funktionieren. Die Frage ist jetzt natürlich, was passiert, wenn 2 Clients gleichzeitig connecten. Eine Möchlichkeit wäre die Instanzen in einer CMap zu speichern. Das verlangt aber wieder nach einem "Speicherveraltungssystem", da du die CMap Items ja auch wieder löschen musst.
Eine bessere Erklräung kann ich dir leider nicht bieten Scahu dir einfach folgende Links durch und du müsstest in kürzester Zeit deinen eigenen Webdämon haben www.sockaddr.com/HTTPa.zip Asynchronous mode HTTP server. Works with WinSock 1.1 or 2 and any version of Windows -- 3.1 and above. www.sockaddr.com/HTTPmt.zip Multi-threaded HTTP server that uses blocking sockets, overlapped I/O and client threads to handle multiple simultaneous connections. (Requires WinSock 2)
Ich hoffe, das hilft dir weiter!! mfg mike --
Dieser Post wurde am 21.05.2003 um 18:42 Uhr von mike editiert. |