problema socket C # asíncrono
-
19-09-2019 - |
Pregunta
Estoy teniendo un problema extraño con mi código, por el momento todo funciona bien, excepto la parte que envía. Siempre que intente enviar un paquete que realmente envía muchos paquetes vacíos, y no puedo averiguar por qué, he comprobado con el depurador y la función SendPacket está siendo llamado una sola vez. Gracias a todos!
Solución
Lo que veo: se pasa una matriz (loginOutBuffer
) a través de Socket.BeginSend()
en SendPacket
OnPacketRecv
, pero que lo elimine inmediatamente después de OnPacketRecv
Socket.BeginSend()
no hace una copia de la matriz cuando se pasa en ella, por lo que enviará los datos de la matriz ahora aprobado por la, lo que resulta en ceros que sale el otro extremo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow