2016-04-18 5 views
0

Also verwende ich mit TCPClient und SerialPort einen Streamreader, um Datenzeilen einzuziehen. Anstatt die Daten, die in den Puffer gelangen, manuell zu behandeln, lasse ich den Streamreader damit umgehen. TcpClient hat eine GetStream Methode und SerialPort scheint ein Base mit ihrer Readline-Methode zu verwenden. Der UdpClient ist jedoch kein Stream zugeordnet.Benötigt UdpClient einen StreamReader?

Ich bin davon aus, dass die UdpClient.Receive Methode 1 Zeile von Daten aus dem Puffer zurückkehrt? Oder wird es Teile der Daten mit Zeilenvorschub möglicherweise in der Mitte senden?

Antwort

0

Im Gegensatz zu TCP, UDP behandelt Nachrichten (Datagramme). Eine gesendete Nachricht gleicht null oder mehr gleich empfangenen Nachrichten.

Mit anderen Worten: was Sie senden, was Sie erhalten heraus könnte, genau so, wie Sie es geschickt.

+0

Also im Grunde kann ich davon ausgehen das Zeilenvorschub am Ende jedes Datagramm sein wird? – wayofthefuture

+0

Ich weiß nicht, das hängt davon ab, was Sie senden, die Sie nicht angezeigt haben. – CodeCaster

+0

Es wird ein Zeilenvorschub angezeigt, wenn Sie einen Zeilenvorschub senden. Wenn Sie keinen Zeilenvorschub senden, wird es keinen geben. –