我的代码出现了一个奇怪的问题,目前除了发送部分以外,一切都正常。每当我尝试发送一个数据包时,它实际上会发送许多空数据包,我无法找出原因,我已经向调试器进行了检查,sendpack函数只被调用一次。谢谢大家!

最佳答案

我看到的是:通过loginOutBuffer将数组(Socket.BeginSend())传递到SendPacket中的OnPacketRecv,但在OnPacketRecv中之后立即将其清除。
Socket.BeginSend()在您传入数组时不会复制该数组,因此它将在现在已清除的数组中发送数据,从而在另一端输出零。

09-06 03:36