concatenate packets during send

This commit is contained in:
wish
2024-10-08 20:42:42 +11:00
parent b20969ddc6
commit edd357fe50
2 changed files with 9 additions and 7 deletions

View File

@@ -21,7 +21,6 @@ func handleMsgMhfLoadPartner(s *Session, p mhfpacket.MHFPacket) {
data = make([]byte, 9) data = make([]byte, 9)
} }
doAckBufSucceed(s, pkt.AckHandle, data) doAckBufSucceed(s, pkt.AckHandle, data)
doAckSimpleSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00})
} }
func handleMsgMhfSavePartner(s *Session, p mhfpacket.MHFPacket) { func handleMsgMhfSavePartner(s *Session, p mhfpacket.MHFPacket) {

View File

@@ -152,18 +152,21 @@ func (s *Session) QueueAck(ackHandle uint32, data []byte) {
func (s *Session) sendLoop() { func (s *Session) sendLoop() {
var pkt packet var pkt packet
var buffer []byte
for { for {
if s.closed { if s.closed {
return return
} }
for len(s.sendPackets) > 0 { for len(s.sendPackets) > 0 {
pkt = <-s.sendPackets pkt = <-s.sendPackets
err := s.cryptConn.SendPacket(append(pkt.data, []byte{0x00, 0x10}...)) buffer = append(buffer, pkt.data...)
if err != nil {
s.logger.Warn("Failed to send packet")
}
} }
time.Sleep(5 * time.Millisecond) err := s.cryptConn.SendPacket(append(buffer, []byte{0x00, 0x10}...))
if err != nil {
s.logger.Warn("Failed to send packet")
}
buffer = buffer[:0]
time.Sleep(100 * time.Millisecond)
} }
} }
@@ -188,7 +191,7 @@ func (s *Session) recvLoop() {
return return
} }
s.handlePacketGroup(pkt) s.handlePacketGroup(pkt)
time.Sleep(5 * time.Millisecond) time.Sleep(100 * time.Millisecond)
} }
} }