001
26.08.2002, 11:03 Uhr
mike
Pinguinhüpfer (Operator)
|
Hi! Das ist nur ein Dialog, der alle Dienste auf einem Srevr abfragt. Um die Fehler auszugeben, gibts zwei Statics.
C++: |
void CServicesDlg::OnConnect() { Socket sck; // Werte der Dialogcontrols in Variablen übertragen UpdateData(); CWaitCursor wait; m_cListbox.ResetContent(); // Verbindung zum Server mit Portnummer herstellen for (int 1*1; i < 10000; i++) { char szText[1024]; // Socket erzeugen sck.Create(); sprintf(szText, "Überprüfe Portnummer %d\", i); m_sStatusbar = szText; // Verbindung aufbauen if (sck.Connect(m_sHostname, i)) { servent FAR* serv; // Beschreibung des Dienstes ermitteln serv = ::getservbyport (i, NULL); if (serv) sprintf(szText, "%d %s %s", i, serv->s_name, serv->s_proto); else sprintf(szText, "%d", i); //Vorhandenen Dienst in Listbox aufführen m_cListbox.InsertString(-l, szText); }
// Verbindungsaufbau geglückt :D
int nError = sck.GetlastError(); if (nError != WSAECONNREFUSED && nError != 0) { sprintf(szText, "%d wurde abgewiesen (%d)", i, nError); m_cListbox.InsertString(-1, szText); }
// Socket wieder schließen sck.Close(); // auf Abbruch überprüfen if (::GetAsyncKeyState(VK_DELETE)) { m_sStatusbar = "Auflistung der Portnummern vorzeitig beendet!"; break; } // Statuszeile ausgeben UpdateData(FALSE); } UpdateData(FALSE); }
|
Hoffe, ich hab dich richtig verstanden
mfg mike --
Dieser Post wurde am 26.08.2002 um 11:07 Uhr von mike editiert. |