Flush-socket in C++

Habe ich versucht zu Spülen, eine socket-nach dem Aufruf zu send - Funktion in c++.

Ich verwendet winsock2.h Bibliothek.

Muss ich senden die Daten sofort, nachdem die Nachricht senden, aber ich finde keine Funktion wie flash Funktion.

Ich versuche zum senden von Nachrichten an ein Gerät, und Sie erwarten, empfangen von Nachrichten eine nach der anderen.

Ich meine, wenn ich senden von zwei Nachrichten-sender wie "MessageOne" und "MessageTwo", der Empfänger erhielt "MessageOneMessageTwo", die nicht trennen, und das Gerät nicht erkennt die Befehle.

So, wie ich es machen kann?

  • Sie können dies überprüfen, previous post oder Gehen Sie durch die MSDN-Dokumentation in Bezug auf die gleiche
  • Wenn das socket-TCP ist dann das erste, was zu tun ist, deaktivieren Nagle-Algorithmus
  • Wenn Sie nicht brauchen, um etwas anderes zu tun auf den socket schließen würde, flush (wenn ein Verweilen ist nicht im socket-Optionen).
  • hier die FAQ bezüglich der Deaktivierung Nagle tangentsoft.net/wskfaq/intermediate.html#disable-nagle
  • nicht sicher, warum Sie richten Ihren Kommentar zu mir, aber danke. Wenn Sie impliziert, dass das deaktivieren Nagle-Algorithmus ist eine schlechte Idee, dann kann ich nur Antworten mit "richtigen Werkzeugs für die richtige Aufgabe", Nagle-algo ist deaktiviert, in den meisten low-latency-messaging-software.
InformationsquelleAutor nrofis | 2012-10-10
Schreibe einen Kommentar