Threads und Connect()
-
Hi,
hab mal wieder n prob, sitze schon ewig dran und weiß einfach nich, was daran falsch(?) sein soll...
also ich habe eine "hauptfunktion", erstellt IP-Listen, also z.b. von 192.168.1.0 bis 192.168.1.15
soweit kein problem, das klappt.
Diese IP übergebe ich dann an den Thread. Das klappt auch, ich kann die IP ausgeben, bzw in mein logfile schreiben.
Nur will ich jetzt prüfen ob der host online ist, ich dachte das würde am einfachsten gehen, wenn ich schaue ob port 80 offen ist.
So starte ich meine Threads
// Threads starten.... HANDLE hThread[MAX_THREADS]; DWORD dwThreadID[MAX_THREADS]; index = index + 1; if(inIP != "") { hThread[index] = CreateThread( NULL, 0, Threads, &inIP, 0, &dwThreadID[index] ); Sleep(100); } CloseHandle(hThread);
hier die threadfunktion
DWORD WINAPI Threads(LPVOID Data) { int iFirstPortCheck; CString inIP = *(CString *)Data; delete &Data; CSocket sFirstCheckPort; sFirstCheckPort.Create(); iFirstPortCheck = sFirstCheckPort.Connect(inIP, 80); sFirstCheckPort.Close(); if(!iFirstPortCheck) { ... } if(iFirstPortCheck) { ... }
Also so siehts aus. Der compiler meldet keine fehler, die IP kommt korrekt beim thread an, und wird auch richtig umgewandelt.
ich kann sie in ne txt schreiben, np.Connect liefert aber immer false
Ich sehe einfach kein fehler
hoffe mir kann jemand helfen,Danke!!!
-
läuft denn auf dem Host eine Anwendung, die auf Port 80 lauscht (also auf eine Verbindung wartet)?
Ansonsten kannst es lange versuchen...
-
nein, nicht immer....
ich möchte ja eben prüfen ob dort port80 geöffnet ist.
ich hab mit anderen portscannern die gleichen ips gescannt, und die ports wurden als offen dargestellt.
aber bei mir nichtwas mir auch helfen würde, wäre ein portscanner mit mfc
-
bekomme als error message immer 10093
also dass der socket nich initialisiert werden konnte.
hab bei google gesucht, da gibts mehrere die das selbe prob haben, leider konnte es keiner lösen