Biblioteca de rede ponto a ponto para milhares de jogadores simulados.
NetworkClient/NetworkServer
-> NetworkProtocol
-> NetworkSocket
-> NetworkThread
-> NetworkChannel
-> NetworkPacket
->NetworkMessage
NetworkChannel define os tipos de mensagens que podem ser criadas. As classes derivadas de NetworkMessage executam a serialização no buffer de pacotes. Você cria uma mensagem, configura as variáveis da mensagem e, em seguida, envia uma ReliableMessage, uma mensagem ou uma resposta. ReliableMessage esperará uma mensagem do tipo Response de seu endpoint de destino. Mensagem e Resposta são mensagens não confiáveis.
No futuro, NetworkPeer e NetworkPeerGroup permitirão empilhar mensagens em um único pacote, quando possível.
O cabeçalho NetworkMessage codifica 5 bytes para ChannelType (até 16 canais, 4 bits), SendType (Mensagem/Resposta 1 bit), Confiável (sim/não 1 bit), Redirecionamento (1 bit + 2 bytes para ID do usuário), ID do proprietário da mensagem (2 bytes), Sequência de mensagens (2 bytes).
O sistema de eventos atual permite conectar-se ao NetworkChannelEvents OnMessage e OnResponse para quando um NetworkMessage é recebido. Existem também eventos NetworkSocket de baixo nível OnSend e OnReceive, para maior personalização.
Enviar, Receber e Processar Recebimento são os 3 subthreads no topo do thread principal.
Construa um sistema P2P que possa enviar mensagens confiáveis e não confiáveis e conectar usuários por meio de uma topologia baseada em posição. O objetivo final é oferecer suporte a mais de 1.000 jogadores em tempo real em um único servidor.