Fixed an error in the netcode that would cause the client to d/c on partial packets. Set buffer size to 0xFFFF due to disconnect on really large packets (ie gm packet). Implemented support ticket packets.

This commit is contained in:
Filip Maj 2016-02-16 22:53:53 -05:00
parent cb4171f1fd
commit c6ac8b2f14
8 changed files with 131 additions and 7 deletions

View file

@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.packets.receive.supportdesk
{
class GMSupportTicketPacket
{
public bool invalidPacket = false;
public string ticketTitle, ticketBody;
public uint ticketIssueIndex;
public uint langCode;
public GMSupportTicketPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try
{
langCode = binReader.ReadUInt32();
ticketIssueIndex = binReader.ReadUInt32();
ticketTitle = Encoding.ASCII.GetString(binReader.ReadBytes(0x80)).Trim(new[] { '\0' });
ticketBody = Encoding.ASCII.GetString(binReader.ReadBytes(0x800)).Trim(new[] { '\0' });
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}