BlackBoard » Design, Programmierung & Entwicklung » Programmieren » C++ Feststellen ob lokaler Webserver läuft » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Feststellen ob lokaler Webserver läuft
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Feststellen ob lokaler Webserver läuft       Zum Anfang der Seite springen

Ich schreibe gerade einen Editor für JSP und habe mir gedacht, das ich doch
die JSP-Dateien direkt über ShellExecute(...) an den Lokalen Server übergeben könnte,
in dem ich darüber den Standardbrowser aufrufe. Nur möchte ich vorher testen
ob der Tomcat-server auch gestartet ist, wenn nicht, soll er gestartet werden.
Wie stelle ich nun fest ob der Server läuft oder nicht ?

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
13.03.2003 12:54 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Kalka Kalka ist männlich
BlackBoarder


Dabei seit: 16.03.2002
Beiträge: 856

      Zum Anfang der Seite springen

lokaler Server? also du meinst nen Server der auf dem eigenem Rechner ist? ähhm, wenn es z.B. nen FTP-Server ist dann geb einfach ein telnet 127.0.0.1 21 - wenn er sich net Verbinden kann ist der Server nicht aktiv. Wie man in startet ist ja von Server zu Server anders, aber ich denke das wird wohl kaum das Problem sein...

cu Kalka

__________________
In wirklichkeit sind wir alle kleine grüne Kaninchen!
13.03.2003 13:55 Kalka ist offline E-Mail an Kalka senden Homepage von Kalka Beiträge von Kalka suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

Nein, der Tomcat ist ein stinknormaler http-server der
servlets und JSPs ausführt, nix besonderes.

Hab allerdings schon eine Lösung gefunden,
in dem ich den Fenstertitel auslese, finde ich ob der Tomcat
bereits gestartet ist, da nicht im Hintergrund läuft.

Code :

Fenster auflisten:
in der .h:
code:
1:
2:
static BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);
static bool isOpen;


in der .cpp:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
//nach ganz oben (wegen Static)
BOOL CJSPeditorView::EnumWindowsProc(HWND hwnd, LPARAM lParam);
bool CJSPeditorView::isOpen;

//weiterunten...
BOOL CALLBACK CJSPeditorView::EnumWindowsProc(HWND hwnd, LPARAM lParam)
{//durchsucht alle fenstertitel, und setzt isOpen auf true, falls der tomcat dabei war...
	char WindowText[255];
	CString s;
    if ( ::IsWindowVisible(hwnd) && ::IsWindow(hwnd) && ::GetParent(hwnd)==NULL )
    {
        ::GetWindowText( hwnd, WindowText, 255 );
        s=WindowText;
		if(s == "Tomcat 3.2")
			isOpen = true;
		
    }
	return TRUE;
}

void CJSPeditorView::OnDateiAusfhren() 
{//Funktion speichert die datei ab, und ruft sie im Browser auf.
	this->GetDocument()->OnSaveDocument(GetDocument()->GetPathName());//Datei speichern
	isOpen = false;
	EnumWindows(/*(WNDENUMPROC)*/EnumWindowsProc,NULL);
	if(isOpen)//Tomcat läuft ?
		ShellExecute(NULL,"open","mozilla.exe","http://localhost/root/"+ this->GetDocument()->GetTitle(),NULL,SW_SHOW);
	else
	{
		WinExec("E:\Weller\jakarta-tomcat-3.2.4\bin\startup.bat",SW_SHOW);//Tomcat starten
		MessageBox("Tomcat starting, please wait");
		_sleep(8000);//damit der Browser nicht vor dem Tomcat da ist, sonst kann er die .jsp nicht auflösen
		ShellExecute(NULL,"open","mozilla.exe","http://localhost/root/"+ this->GetDocument()->GetTitle(),NULL,SW_SHOW);//.jsp auflösen
	}
}


Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von phlox81: 13.03.2003 14:29.

13.03.2003 14:28 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » C++ Feststellen ob lokaler Webserver läuft

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH