我正在vb.net中构建一个简单的udp lan聊天应用程序,我想知道如何分割我的数据包。每个发送的数据包应该具有id,用户名和IP地址,它可能也是一个命令部分,用于加入或离开以更新我的用户列表和文本消息。我想知道将所有这些放在一个简单的数据包中的最简单方法是什么,然后在接收时轻松拆分并访问它的不同部分。感谢。
我正在使用UDP,因为这只是在局域网中所以我正在向*.*.*.255
答案 0 :(得分:2)
使用实例ToByteArray
方法和静态FromByteArray()
方法创建适当的类(用于序列化为字节数组并分别从字节数组解析)。然后使用UdpClient.Send()
发送,UdpClient.Receive()
接收。
您可能希望使用BinaryReader
/ BinaryWriter
和/或BitConverter
来帮助ToByteArray
和FromByteArray
方法。您可以使用MemoryStream
作为快速内存中的流传递到BinaryReader
/ BinaryWriter
。
答案 1 :(得分:0)
我可能只是在xml中格式化数据包然后在接收端使用linq到xml将它拉开。您也可以使用JSON格式,但可能稍微难以解析。