C# Problema de soquete assíncrono
-
19-09-2019 - |
Pergunta
Estou tendo um problema estranho com meu código, no momento tudo funciona bem, exceto a peça de envio. Sempre que tento enviar um pacote, ele envia muitos pacotes vazios e não consigo descobrir o porquê, verifiquei com o depurador e a função SendPacket está sendo chamada apenas uma vez. Obrigado a todos!
Solução
O que eu vejo: você passa uma matriz (loginOutBuffer
) para Socket.BeginSend()
dentro SendPacket
através da OnPacketRecv
, mas você limpa imediatamente depois em OnPacketRecv
.
Socket.BeginSend()
Não faz uma cópia da matriz quando você a passa, por isso enviará os dados na matriz agora limpa, resultando em Zeros saindo da outra extremidade.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow