Ist Socket.Sende-Puffer-Größe begrenzt?
Gibt es ein limit für die sende-Puffer-Größe, die ich senden kann kleine Packungen-ich.e: 1000 bytes
jedoch, wenn ich versuche zu senden über 20K nichts passiert, remote gewonnen nicht erhalten Paket
plus-Fernbedienung werden NICHT empfangen-keine weiteren Daten.
System.Net.Sockets.Socket.Send((byte)buffer);
- "Packet" ist eine UDP-Begriff. UDP ist beschränkt auf die minimale MTU: en.wikipedia.org/wiki/Maximum_transmission_unit
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als die docs Zustand, diese Methode gibt die Anzahl der gesendeten bytes. Es ist Ihre Verantwortung, dann senden Sie die übrig gebliebenen bytes.
socket.BeginReceive(sm.m_StreamManager.m_Buffer, 0, BUFFER_SIZE_1024, 0, new AsyncCallback(this.ReadCallback), sm);
Send() gibt ein Int32-Wert, der angibt, wie viele bytes gesendet wurden.. so kann man folgern, dass die Obergrenze für die Puffergröße ist Int32.MaxValue.
Soweit, warum Sie Probleme mit einer 20k-byte-Puffer - haben Sie nicht genug Informationen, um eine Vermutung.
Den Sockel.SendBuffer Standard-Puffergröße 8192 laut MSDN. Sie können diese erhöhen, wenn nötig.