Zum Inhalt springen

schorschi

Mitglieder
  • Gesamte Inhalte

    116
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von schorschi

  1. Muß ich dazu mit dem pDC arbeiten oder geths auch anders ? Ich bearbeite das Listenelement in der Dialogklasse mit der ControlVariable und die Änderung der Farbe klappt ja auch, nur nicht in einer einzelnen Zeile ? Aber trotzdem schon mal danke für den Hinweiß.
  2. Hallo, kann mir jemand sagen wie ich bei einem Listensteuerelement die Farbe einer einzelnen Zeile ändern kann? Sobald ich Farbangaben für den Hintergrund oder den Text mache, so wird die Farbe in allen Zeilen dargestellt. Naja auf jeden Fall wird die letzte Farbänderung auf alle Zeilen angewendet und macht damit die vorherigen Angaben damit immer zunichte. SYS W2K VC 6.0 MFC Anwendung danke
  3. Ich setze von openssl die Bibliotheken ein. Habe schon gelesen das es recht mühselig sein soll diese zu verwenden. Wie gesagt, das handshake Verfahren und der Ablauf ist mir schon ein Begriff, mir fehlt nur die Syntax wie ich den Port 443 anspreche. Habe zwar gestern noch ein paar Befehle gefunden, ich bräuchte da aber mal ein paar Beispiel für den Kompletten Aufbau der verschiedenen Requests welche über Port 443 gesendet werden müßen. Also anstatt "Get /www.mysite.de/index.html HTTP 1.1\r\nAccepted-Language: ...\r\nHOST: ..." u.s.w auf Port 80 Habe ich jetzt nur aus dem Kopf geschrieben kann sein das die Zeile Fehler hat Gruß Joerg
  4. Nachtrag: Bei einem normalen Aufbau zu der ssl verschlüsselten Seite bekomme ich die Rückmeldung : Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please was wohl eindeutig auf die falsche Syntax im Request Header hinweißt.
  5. Hallo, ich arbeite gerade an einem Client welcher sich in einem Webserver einloggen soll. Die verschiedenen Request ob Get, Post und die Auswertung von Cookies und redirect bekomme ich hin. Jetzt möchte ich per ssl Verbindung das ganze machen. Testumgebung Apache 2 mit openssl ist eingerichtet. Programmierumgebung VC 6.0 C++ Sys: W2K Über den theoretischen Ablauf habe ich schon etwas gelesen, von wegen Client sendet Hello an Server, Server sendet den öffenlichen Schlüssel etc. Also im Groben weiß ich ungefähr Bescheid über das Handshake verfahren. Mein Problem ist jetzt das Coden. Z.B. sende ich ja als erstes eine Anfrage per normalen Socket zum Webserver. Wie setzt sich dieser Request zusammen ? Empfangende Daten, selbst verschlüsselte, denke ich mal sind weniger das Problem diese entsprechend zu entschlüsseln. Ich denke mal das die Header, welche als Anfrage und Antwort zwischen Client und Server ausgetauscht werden, haben eine spezielle Syntax. Kann mir vielleicht jemand von euch speziell auf das Thema Syntax im Verbindungsaufbau Tipps geben ? Bitte keine Verweise auf openssl. Komme leider nicht so ganz mit dem englischen klar. Googeln half auch nicht viel, aber vielleicht habe ich mal wieder die Falschen Suchbegriffe genutzt. Für Tutorials oder Links wäre ich auch dankbar. Gruß Joerg
  6. Entwicklungsumgebung :VC++ 6.0 Betriebsystem: W2K jetzt wo Du Du es sagts. Davon habe ich auch schon gelesen, blokierend nicht blokierend. Wußte aber nicht das die recv() blokiert. Kannst Du da etwas weiter ausholen und mir die Hauptunterschiede zwischen den beiden erklären. Irendwelche Fallstricke wenn ich versuche mit nicht blokierten Socket zu arbeiten ? Gruß Joerg
  7. Hallo, ich habe ein Problem mit der recv() Methode welche ja die von einem Server gesendeten daten welche im Speicher liegen auslesen soll. Jedesmal wenn ich die Methode innnerhalb einer Schleife aufrufe um den Speicher auszulesen so bleibt der letzte Aufruf "hängen" welcher mir eigentlich als returnwert eine 0 für keine Zeichen liefern müßte. Das Progi fährt, wenn überhaupt, nach sage und schreibe bis zu 5 Minuten mit der arbeit erst wieder fort. Bisher habe ich von meinem Webserver ausgelesen und das Problem umgangen indem ich die letzten gelieferten Zeichen kannte z.B. </html> und die Schleife bei Erkennung dieser Zeichen abgebrochen habe. Allerdings möchte ich hier korrekt arbeiten und bei 0 beenden. Mein Aufruf etwas vereinfacht: char buffer[256]; do { size = recv(sock,buffer,256,0); ... } while(size>0) Wo liegt der Fehler ? Joerg
  8. Danke hat sich soeben geklärt. Habe eine Variable falsch abgeleitet.
  9. Hallo ich mal wieder. Ich versuche ja gerade per Socket einen Webserver anzusprechen und die Webseiten auszulesen. Ich habe ein nettes Tool im Web gefunden incl. Quellcode und versuche gerade dahinterzusteigen wie es geschickt löschen kann. Dabei wird das Activ X Steuerelement Webbrowser ins projekt aufgenomen und anschließend noch einigen prüfungen die Methode Navigate aus der Klasse CWebBrowser aufgerufen. Hier habe ich ein Problem. Ich rufe die Methode mit : Navigate(m_strURL,NULL,NUL,NULL,NULL); auf, genauso wie es in meinem gefundenen Beispielcode gemacht wird. Im Beispielcode wird kein Fehler ausgegeben bei mir natürlich ja. Fehlermeldung: Debug Asserertion Failed! File winocc.cpp Line 345 Wenns ichs richtig übersetze : Debug Kontrollwert Fehlgeschlagen Beim Debugen lande ich in folgender Zeile : void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ...) { ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least) if (m_pCtrlSite == NULL) return; va_list argList; va_start(argList, pbParamInfo); m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo, argList); va_end(argList); } Der Fehler passiert hier in dieser Zeile : void CWebBrowser2::Navigate(LPCTSTR URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers) { static BYTE parms[] = VTS_BSTR VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT; InvokeHelper(0x68, DISPATCH_METHOD, VT_EMPTY, NULL, parms, URL, Flags, TargetFrameName, PostData, Headers); } Also es werden exakt die gleichen Deklarationen der URL übergeben. Wenn ich bei der Fehlermeldung auf Ignorieren klicke arbeitet die exe normal weiter. Hat jemand einen Rat ?
  10. Ja, danke nochmal. habe mir gestern Nacht 'ne Methode zusammengestrickt.Funzt. Joerg
  11. Ich werde es dann wohl nach Kittys Vorschlag machen. Guybrush, ich suche im String ein Muster mit einer Zahl. Die Zahl ist mir nicht bekannt und uninteresant, da Sie nicht in den String gehört, Sie wird einfach ungewollt und nicht immer mitgeliefert. Ich hätte praktisch mit einem Muster mit unbekannten Inhalt aber bekanten Aufbau suchen müßen. Dank an euch.
  12. Hallo, ich muß gerade ein suchmuster entwerfen und komme da nicht weiter. Problem ich weiß nicht einmal zur Laufzeit wonach ich suche, ich muß einen String nach einem Schema durchsuchen. Konkret: Ich bekomme einen beliebig langen String geliefert. Irgendwo im String steht eine unbekannte 4 Stellige Zahlenkombination und anschließen ein "\n". Ich müßte also einen Suchstring mit Platzhaltern zusammenstellen um den gelieferten zu durchsuchen. Hier scheitere ich. Der Einsatz von Platzhaltern in z.B. printf ist mir bekannt, zumindest die einfachen wie %s %d. Mit meinem Einfall char vgl_str[]="%c%c%c%c\n"; komme ich nicht zu einer Lösung. Gruß Joerg
  13. schorschi

    gethostbyname

    Kleiner Nachtrag zur Fehlermeldung 10054: Habe gerade den Sendepuffer wie oben beschrieben auf einen sehr kleinen Wert gestellt 256. Keine Fehlermeldung mehr aber eine Zeit zum auslesen der Site von sage und schreibe 3 MINUTEN !!!! Ich verzweifel...
  14. schorschi

    gethostbyname

    Sehr quick sehr dirty, wobei ich sagen muß wenn ich den Buffer mit /0 terminiere dürfte ich das Problem doch eigentlich nicht haben. Ich bin halt einer der Fraktion welcher mit Speicher recht großzügig umgeht, oder anders gesagt, ich reserviere in der Regel keinen Speicher dynamisch.Muß ich mir halt angewöhnen.Wobei, ich habe es eingebaut und es funktioniert. Danke Bleibt noch das Problem das ich mit jedem neuen Aufruf von recv() eine vierstellige Zahl mitgeliefert bekomme, welche nicht zu der Site gehört. Ich versuche gerade herrauszubekommen wo die Zahl herkommt. Habe da schon meine Vermutung das die Zahl mit von meinem Testserver und dem Webserver stammt, da bei fremden Sites von fremden Servern diese Meldung nicht auftritt.Habe übrigens bei bestimmten Sites und das nur beim Webserver eine Fehlermeldung 10054. Laut Web ein Portfehler des Routers. Trotz Reset keine behebung und mit dem Stichwort "geforwardet" konnte ich nix anfangen. Wenn hier keiner eine Antwort weiß, werde ich später einen neuen thread unter Webserver aufmachen, da das ja auch nicht das Thema hier ist. Eine andere Sache: Mir ist aufgefallen wenn ich den Sendepuffer auf einen geringeren Wert stelle als die Seite effektiv groß ist egal ob auf 256, 512 oder 5000, so dauert das Auslesen ewigkeiten, mindestens 30 Sekunden. Stelle ich den Sendepuffer auf 65000, also viel zu groß ein, so bekomme ich innerhalb einer Sekunde sie Site ausgelesen und gespeichert, allerdings mit einer Fehlermeldung zum Schluß "Request-URI too Large". Kann mir das einer erklären ? Nicht das die URI zu lang ist, ist ja denke eine Einstellung vom Webserver, sonder warum dauert das Auslesen mit einem geringeren Wert so lange. Ich denke nicht das es an der Zeit liegt welche die Packet brauchen bis zu meinem Client.
  15. schorschi

    gethostbyname

    Nein nicht dynamisch, ich deklariere; char buffer[256]; bzw. char buffer[65000]; Abfrage int laenge = recv(s,buffer,65000,0); buffer[laenge]='\0'; Das \0 habe ich übrigens später beim zusammenbau (ich speicher alles in einer Datei) nicht entfernt, gab aber eingentlich auch keine Probleme bisher. Zu \x0D\x0A\x0D\x0A , klar war ein Tippfehler. gut das ich jetzt weiß das es sich nur um einem doppelten Zeilenumbrich handelt. Ich schneide den String selbst beim beim ersten "<" ab, find ich Sinnvoller. Kannst Du mir ein kurzes erklärendes Beispiel für die dyn. Speicherreservierung in dem Fall geben.Ich weiß da im Moment nicht worauf du hinaus willst.
  16. schorschi

    gethostbyname

    Hallo moo_ku, Mit der Annahme das die Domain bei Arcor liegt und umgeleitet wird liegt Du richtig. schorschi.de] bin ich zwar nicht, aber an der Stelle unwichtig. Deine Info zu gethostbyname() erklärt so einiges, zumindest für mein Verständnis, danke. Zu recy() ich habe mittlerweile gemerkt das eine Anfrage mit GET reicht und das ich mit recy() den TCP/IP-Stack mehrfach auslesen muß. Und wieder ein graues Haar mehr :-0 Ich möchte zunächst einmal den Inhalt der Seite ohne Servermeldung nur speichern, später mal auswerten und wenn die Antwort in mehreren Teilen mit recy() ausgelesen werden muß, dann auch komplett wieder zusammensetzen. Wenn ich das 2.mal recy() aufrufe, steht als erstes ein Zahlenwert im Buffer, welcher nicht zur Seite gehört und den möchte ich auch raus haben bzw habe ich schon. Die Servermeldung, welche ich zum Schluß im Buffer habe, möchte ich auch raus haben. Obwohl ich da vermute das sie dort nicht an der richtigen Stelle steht. Wahrscheinlich habe ich hier schon falsch zusammengeschustert. Kannst Du mir erklären wie ich wenn die Packete und Daten wieder in der korrekten reichenfolge zusammenbauen kann.Man muß die doch irgendwie identifizieren können oder ? Beispiele für die Fehlersituationen: Ja im Augenblick nach den Infos bleibt mir nur noch die Sortiererei der Ergebnisse von recy(), der Rest hat sich ja dann fast alles erledigt. Eine Frage noch zum Schluß, was muß ich mir unter dem Vergleichsstring hier vorstellen, ich weiß nicht wie er arbeitet bzw. was er bedeutet: ptr=strstr(recv_buf,"\x0D\x0A\x0D\x0A")) Dito Schönes Wochenende :e@sy
  17. schorschi

    gethostbyname

    Also am Webserver liegt es auch nicht. Sobald ich statisch die IP des Server eingebe, kann ich die Seite korrekt auslesen. Aber je mehr ich Teste, desto mehr Sachen fallen mir auf. Kann mir jemand nen Link nennen (bitte, bitte in deutsch) wo ich nachlesen kann, wie ich nach einen Sendebefehl mit mehreren antwortpacket umgehen kann, sprich auswerten ob noch was kommt, maximale grösse, generell die versendung der Strings... ist mir mal so aufgefallen da ich zum Teil von den Webservern mehr als eine Antwort erhalte, diese zwar nach statischen Vorgaben manipulieren und speichern kann, aber ich denke das mir die statische korrektur auf die Dauer nix bringt. Danke schonmal...
  18. schorschi

    gethostbyname

    Also die Sache mit dem GetHostByName hat sich insoweit erledigt, das ich im Netz was gefunden habe und für meine Bedürfnisse umgestrickt habe, naja soweit sogut, wenn es den auch so funktionieren möchte wie ich es mir wünsche. Da hat sich dann ein neues Problem gezeigt, wo ich die Ursache nicht lokalisieren kann. Wenn ich eine allgemeine bekannte Internetnamen auflösen möchte wie z.B. google, heise oder andere, dann wird die Adresse gefunden und ich bekomme auf meine Anfrage der jeweiligen index.html auch eine Antwort gesendet welche ich auslesen kann. Wenn ich dagegen meine popelige Seite, welche bei Strato gebucht ist und umgeleitet wird auf meinen Webserver, bekomme ich immer die Fehlermeldung 404 vom Web gesendet. Bin auch gerade mal per Modem ins Netz um zu testen ob die Ursache die Überbrückung meines Routers ist. Fehlanzeige, ich bekomme wieder nur 404 zurück. Wobei da fällt mir gerade auf, du schreibst "erfordert nur den abzufragenden host" ich habe bisher die URL eingegeben. Wie soll ich den an den Rechnernamen kommen wo die Seite gelagert ist ?
  19. Hallo zusammen, ich bastel gerade am Datenaustausch von Client & Server via Socket. Funktioniert soweit. Nun bin ich an dem Punkt angekommen, wo ich die Internetadresse in die IP auflösen möchten, wenn ich zum Beispiel einen Internetserver ansprechen möchte. Habe auch soweit schon Infos zu der Methode gethostbyname() gefunden. Allerdings bekomme ich immer den Rückgabewert NULL. Ich brauche dazu noch einige allgemeine Infos Da ich aktuelle IP Adressen von Internetseiten haben möchte, kann ich mir schwer vorstellen das ich diese Lokal auf meinem System finden werde. Ich denke mal das ich zunächst eine Verbindung zu einem DNS Server im Netz herstellen muß und die IP anfragen muß. Kann mir da jemand weiterhelfen ? Fast vergessen: VC 6.0 W2k Gruß
  20. Hallo, kann mir jemand sagen wie ich die Hintergrudfarbe der Arbeitsbühne dynamisch ändern kann ? Irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr. Ich finde einfach nicht die richtigen Variablen. Gruß Joerg
  21. Nachtrag: Habe gerade gemerkt das dieser Effekt nur bei Strings auftritt, nicht bei integer.
  22. Hallo, versuche mich gerade in Flash schlau zu machen. Ich versuche folgendes: In einem Formular meiner php seite rufe ich zunächst einmal die php seite selbst erneut auf. Das soll den Zweck haben das ich die Daten aus den Eingabefeldern in der php seite weiter verarbeiten kann, soweit ok. Anschließend wird ein Flashfile mit den Daten "gefüttert" und verarbeitet diese, auch ok. Im Flashfile rufe ich, nach erfolgreichen verarbeiten der Daten, die php seite erneut auf,soweit auch ok. Ich übergebe diese Daten an die php seite und versuche die weiter zu vearbeiten und hier bin ich mit meinem Latein am Ende. Die Daten werden an die php seite übergeben, soweit ok. Die Eingabefelder kann ich mit den aus Flash gewonnen Daten füllen. ich versuche jetzt aber eine Combobox mit Werten aus einer textdatei zu füllen, soweit gehts auch noch ABER : wenn ich die Combobox auf einen bestimmten Eintrag mit dem befehl "selected" setzen will, so funktioniert das nicht mit den gelieferten Daten aus Flash. Wenn ich mir die Variablen auf die Seite per "echo" ausgeben lasse, so steht eigentlich genau das was ich brauche drin. Ich habe den String auch schon per ltrim bzw rtrim bearbeitet aber meine "if" Abfrage funktioniert nicht mehr. Also nochmal zusammengefasst eine php wird ingesammt zweimal aufgerufen.Beim ersten mal wenn ich die seite selbst aus php neu laden funktioniert alles einwandfrei auch das setzten der selected anweisung aber wenn die Daten beim zweiten aufruf per Post von Flash übergeben werden funktioniert meine abfrage auf gleichheit nicht mehr. <select name="schrift" size="1"> <?php for($i=$temp;$i>=0;$i--) { $element=explode('~',$eintrag[$i]);echo"<option "; if($element[0]==$schrift) { echo"selected=$schrift"; } echo" value='$element[0]'>$element[0]"; } ?> </select> Was soll ich sagen, ich verzweifel.... Ich denke der Fehler liegt bei php. Ich möchte die Daten NICHT in einer textdatei speichern um sie anschließend wieder in php auszulesen.Die Postvariante soll reichen. Ach bitte keine Kommentar von wegen warum machst Du nicht alles in Flash. Ich nutze Flash nur, weil die Auswertung und die optische Darstellung meiner Daten leider nur in Flash zu realiseren sind.
  23. Ja danke, hatte die Variablenbezeichnung irgendwie nicht gefunden. Hatte ja gesagt den Wald vor lauter bäumen nicht sehen....
  24. Hallo, fange gerade mit Flash an und habe ein Problem.Wenn ich das Flash-file in einer html seite lade, kann ich Variblen mit übergeben mit welchen ich die Position eines Textfeldes dynamisch zur Laufzeit bestimmen kann. Soweit ok. Aber wie kann ich auf die gleiche Art und Weise die Grösse eines Textfeldes Dynamisch bestimmen. Ich suche jetzt seit Stunden eine Funktion bzw. die Variablen welche mir das ermöglichen finde aber nichts oder ich sehe den Wald vor lauter Bäumen nicht. Gruß Joerg
  25. Meine Version ist die Microsoft VC++ 6.0.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...