WinRT - TCP-Clients?

8

Ich baue einen IRC-Client im neuen WinRT (.NET 4.5 ) Framework für Windows 8 Metro Anwendungen.

Allerdings habe ich einige Probleme. Ich habe bereits herausgefunden, dass ich ein StreamSocket verwenden muss, um TCP-Daten zu lesen, aber ich kann etwas falsch machen.

Der Grund dafür liegt meiner Meinung nach darin, dass ich keine Daten erhalte.

Unten sehen Sie meinen Code. Ich konnte im Internet keine Codebeispiele finden.

%Vor%

Daten sind immer eine leere Zeichenfolge, die auf diesen Code folgt. Außerdem gibt UnconsumedBufferLength immer 0 zurück.

Wie kommt es?

    
Mathias Lykkegaard Lorenzen 29.09.2011, 11:52
quelle

1 Antwort

9

Sie müssen DataReader anweisen, Bytes aus dem Stream zu lesen, bevor Sie sie interpretieren ( ReadString interpretiert nur die bereits gelesenen Bytes).

Wenn Sie also eine Folge von 20 Bytes lesen möchten, tun Sie dies:

%Vor%

Wenn Sie eine Zeichenfolge bis zu 20 Bytes lesen möchten, tun Sie dies:

%Vor%

Sehen Sie dieses Video für weitere Informationen: Ссылка

Beachten Sie, dass DataReader Ihnen keine Nachrichtengrenzen gibt; es ist nur eine bequemere Art, auf Binärdaten aus einem Stream zu warten und sie zu lesen. Sie müssen immer noch Nachrichtenrahmen .

    
Stephen Cleary 29.09.2011, 13:48
quelle

Tags und Links