Ich experimentiere mit Streams in UWP arbeiten, um Daten von einem Rechner zum anderen über das Netzwerk zu senden.Rekonstruieren von Daten über das Netzwerk in UWP-Apps über Streams
Auf dem sendenden Rechner habe ich einen DatagramSocket erstellt und serialisiert die Daten, die ich in Bytes senden möchte und schreibe diese in den Ausgabestrom.
Auf dem empfangenden Rechner erstelle ich einen anderen DatagramSocket und handle das MessageReceived-Ereignis, um die gesendeten Daten zu sammeln.
Dies scheint in dem Sinne zu arbeiten, dass, wenn ich Daten von einem Computer sende, ich es auf dem anderen empfange.
Allerdings sind die Daten, die ich auf dem Sender serialisieren eine Größe von etwa 8150 Bytes, die ich in den Stream schreibe.
am empfangenden Ende, ich bin nur immer etwa 13 Bytes von Daten anstelle der Volllast ich erwartet habe ...
So scheint es, dass ich auf der Empfängerseite verantwortlich bin die vollständigen Daten für die Rekonstruktion Objekt, indem ich darauf warte, dass alle Daten über mehrere Ströme kommen ...
Es scheint jedoch, dass ich Pakete 1: 1 bekomme - das heißt, wenn ich direkt vor dem Senden einen Haltepunkt setze und direkt nach dem Empfang, dass, wenn ich die Daten in den Ausgabestrom schreibe und lösche und es sende, das empfangende Ende dann auslöst und ich bekomme, was Teildaten zu sein scheinen, aber ich bekomme nie etwas anderes.
so, während ich 8150 Bytes von der Sende Maschine senden, das empfangende Ende wird nur ein einzelnes Paket etwa 13 Bytes lang ...
bin ich Pakete zu verlieren? es scheint ein konsistentes 13 Byte zu sein, also vielleicht ist es eine Puffereinstellung, aber das Problem ist, dass ich die 8150 Bytes willkürlich bin; manchmal ist es größer oder kleiner ...
Ich mache das offensichtlich falsch, aber ich bin so neu in der Netzwerkprogrammierung Ich bin nicht wirklich sicher, wo ich anfangen soll das zu reparieren; auf einer hohen Ebene, was ist der richtige Weg, um ein komplettes Speicherobjekt von einer Maschine zu einer anderen zu senden, so dass ich eine genaue Kopie davon auf der Empfängerseite rekonstruieren kann?