TcpSocket - Daten gehen verloren



  • Write sendet erfolgreich. Read wartet auf eine Eingabe, ohne das etwas ankommt.

    Es wäre nett, wenn jemand mal den Code so laufen lassen könnte um mir zumindest zu bestätigen dass es nicht an meinem System liegt.

    Danke



  • Also ich habe es mal getestet. Wenn ich beide Anwendungen starte, 'G' und '\n' im Client eingebe, erscheint auf dem Server die Ausgabe 47.



  • Danke für's Ausprobieren! Dann liegt's wohl an mir. Welche Frameworkversion hast Du verwendet?



  • VS 2008

    Er hatte 3.5 standardmäßig aktiviert. Ich habe es auf 2.0 zurückgesetzt, damit kann man ebenfalls G's senden.



  • Das ist wirklich eigenartig. Ich habe es jetzt auf drei Rechnern getestet und auf keinem hat es funktioniert.

    Nur um nochmal sicher zu gehen: Die Daten kommen nur dann nicht an, wenn das 'G' als aller erstes gesendet wird. Wenn vorher etwas anderes kommt (z.B. ein 'a'), dann kommt alles an, auch 'G's. @witte: geht das bei Dir auch?

    Wenn ja, dann weiß ich nicht mehr weiter... 😕

    Auf jeden Fall danke für Deine Unterstützung!



  • Ja, ich starte beide Anwendungen gebe als erstes 'G' ein, Enter und das G erscheint.
    Gibt es irgendwelche Probleme mit Personal Firewalls oä?
    Du kannst Server und Client auf zwei verschiedenen Rechnern starten und den Netzwerkverkehr mit einem Sniffer wie z.B. Ethereal prüfen (würde ich jetzt machen).



  • Hab auch einen Rechner gefunden, auf dem es geht. Da läuft Windows Server 2003.

    Es läuft keine Firewall. Ausserdem wäre es seltsam, dass einige Pakete durchkommen und andere nicht (abhängig vom Payload)?

    Der Sniffer sieht bei einem 'G' keine Daten, die bleiben also im Client hängen.

    Ich installier jetzt meine Frameworks neu! So'n Mist aber auch.

    Edit: BTW: wenn ich telnet als client nehme geht es auch nicht. *schultern zuck*



  • Der Port war's! Auf 8080 wurden die Daten wohl im Sinne von HTTP interpretiert.
    Und da gibt es "GET ..." und "HTTP..." und "POST ..." und sonstwas, weswegen wohl 'G' und 'H' und 'P' ... nicht gingen!

    2 Tage im Eimer!

    @witte: 👍 Vielen Dank! Ohne Dich hätte es vielleicht noch ein Paar mehr Tage gebraucht!

    Hast Du einen anderen Port verwendet?



  • _O_M_G_

    Dann musst Du aber etwas dazwischen haben, ein Proxy oder sonstwas. Normalerweise werden solche Daten nicht interpretiert. Ich habe Deinen Quelltext unverändert verwendet, also auch Port 8080.



  • Dann musst Du aber etwas dazwischen haben, ein Proxy oder sonstwas.

    Jo. Sieht danach aus als ob da eine Firewall auf Portebene die üblichen HTTP filtern würde. Zum auf Viren/Exploits prüfen oder was auch immer.
    Oder ein transparenter Webcache.


Anmelden zum Antworten