a criação de um pacote UDP que eu posso dividir
Pergunta
Estou construindo uma simples udp aplicação de chat lan em vb.net e eu estou querendo saber como eu deveria dividir meus pacotes. Cada pacote enviado deve ter como um ID, um nome de usuário e endereço IP de onde está vindo e talvez também uma parte de comando para como entrar ou sair para atualizar minha lista de utilizadores e uma mensagem de texto. Eu gostaria de saber qual é a maneira mais fácil de colocar tudo isso em um pacote simples, então facilmente dividir e acessar diferentes partes do que quando ele é recebido. obrigado.
Eu estou usando UDP uma vez que este é apenas em lan por isso estou transmitindo a *.*.*.255
EDIT: Obrigado pela sua resposta Jon, mas eu já sei tudo isso. O que eu quero saber é qual seria a maneira mais fácil e poderoso para formatar meus pacotes para que eles incluem um nome de usuário, um ID, um comando e uma mensagem de texto, o usuário recebê-lo decifrá-lo para mostrar apenas a mensagem escrita pelo qual utilizador ou se é um comando como entrar ou sair para mostrar a mensagem apropriada de unir e adicionar o usuário à lista de exemple.
Solução
Eu provavelmente apenas formatar o pacote em XML e, em seguida, sobre a receber o uso linq lado para xml para puxá-lo à parte. Você também pode usar JSON para o formato, mas que poderia ser um pouco mais difícil de analisar.
Outras dicas
Criar uma classe apropriada com um método de instância ToByteArray
e um método FromByteArray()
estático (por serialização para uma matriz de bytes e analisar a partir de uma matriz de byte, respectivamente). Em seguida, use UdpClient.Send()
para enviá-lo, e UdpClient.Receive()
para recebê-lo
Você pode querer usar BinaryReader
/ BinaryWriter
e / ou BitConverter
para ajudar com os métodos ToByteArray
e FromByteArray
. Você pode usar um MemoryStream
como um fluxo rápida in-memory para passar para BinaryReader
/ BinaryWriter
.