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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top