Ich kann ein UDP-Paket zu schaffen aufgeteilt
Frage
Ich baue eine einfache udp lan Chat-Anwendung in vb.net und ich frage mich, wie ich meine Pakete aufgeteilt. Jedes gesendete Paket sollte wie eine ID, ein Benutzername und IP-Adresse, von wo es kommt, und vielleicht auch ein Befehlsteil für wie beitreten oder verlassen meine Userliste und eine SMS-Nachricht zu aktualisieren. Ich würde gerne wissen, was der einfachste Weg ist das alles dann in einem einfachen Paket legen leicht geteilt und Zugriff verschiedene Teile von ihm, wenn er empfangen wird. Dank.
Ich bin mit UDP, da diese nur in lan ist so *.*.*.255
ich bin Rundfunk
EDIT: Vielen Dank für Ihre Antwort Jon aber ich weiß schon alles. Was ich wissen möchte, ist das, was die einfache und leistungsfähige Weise sein würde, meine Pakete zu formatieren, so dass sie einen Benutzernamen, eine ID, einen Befehl und eine Textnachricht enthalten, dann empfängt der Benutzer sie entschlüsseln nur die Nachricht von dem geschrieben zeigen Benutzer oder wenn es ein Befehl wie beitreten oder lassen sie die entsprechende Meldung des Verbindens zeigen und die Benutzer die Liste für exemple hinzuzufügen.
Lösung
würde ich wahrscheinlich formatiert gerade das Paket in XML und dann auf die Seite nutzen, erhalten LINQ to XML sie auseinander zu ziehen. Sie könnten auch JSON für das Format verwenden, aber das könnte etwas schwieriger sein, zu analysieren.
Andere Tipps
Eine geeignete Klasse mit einer Instanz ToByteArray
Verfahren und eine statischen FromByteArray()
Methode (für auf einen Byte-Array Serialisieren und von einem Byte-Array Parsen beziehungsweise). Dann nutzen Sie UdpClient.Send()
es zu senden, und UdpClient.Receive()
es erhalten
Sie mögen BinaryReader
/ BinaryWriter
und / oder BitConverter
zu helfen, mit den ToByteArray
und FromByteArray
Methoden verwenden. Sie können eine MemoryStream
als schnellen In-Memory-Strom verwenden, um BinaryReader
/ BinaryWriter
zu passieren.