public override void ThreadFunction()
{
m_owner.GameRequestId = 0x02;
m_owner.InGame = false;
Console.Write("{0}: [BNCS] Connecting to {1}:{2} .........", m_owner.Account, m_owner.BattleNetServer, s_bncsPort);
// Establish connection
m_socket.Connect(m_owner.BattleNetServer, s_bncsPort);
m_stream = m_socket.GetStream();
if (m_stream.CanWrite)
{
Console.WriteLine(" Connected");
}
else
{
Console.WriteLine(" Failed To connect");
return;
}
m_stream.WriteByte(0x01);
m_stream.Write(AuthInfoPacket, 0, AuthInfoPacket.Length);
List<byte> bncsBuffer = new List<byte>();
List<byte> data = new List<byte>();
while (true)
{
if (!GetPacket(ref bncsBuffer, ref data))
{
break;
}
if (ClientlessBot.debugging)
Console.WriteLine("{0}: [BNCS] Received Packet From Server", m_owner.Account);
if (ClientlessBot.debugging)
{
Console.WriteLine("\tPacket Data: ");
Console.Write("\t\t");
for (int i = 0; i < data.Count; i++)
{
Console.Write("{0:X2} ", (byte)data[i]);
}
Console.WriteLine("");
}
byte type = data.ToArray()[1];
if (ClientlessBot.debugging)
Console.WriteLine("\tPacket Type: 0x{0:X}", type);
DispatchPacket(type)(type, data);
}
}