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?
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 .
Tags und Links .net c# .net-4.5 windows-runtime