/// <summary> /// Main listner loop. Keeps an open stream between the client and server while /// the client is logged in / playing /// </summary> protected override void ProcessData(string message) { //message = @"\login\\challenge\l73Iv120dsOnQIA5hCBIqQSkojR191hy\user\retrospy@[email protected]\response\05d45e1b1bf6fbe6b6590785ec8dbe70\port\-9805\productid\10469\gamename\conflictsopc\namespaceid\1\id\1\final\"; message = RequstFormatConversion(message); if (message[0] != '\\') { GameSpyUtils.SendGPError(this, GPErrorCode.General, "An invalid request was sended."); return; } string[] commands = message.Split("\\final\\"); foreach (string command in commands) { if (command.Length < 1) { continue; } // Read client message, and parse it into key value pairs string[] recieved = command.TrimStart('\\').Split('\\'); Dictionary <string, string> dict = GameSpyUtils.ConvertGPResponseToKeyValue(recieved); CommandSwitcher.Switch(this, dict, OnSuccessfulLogin, OnStatusChanged); } }
protected override void OnReceived(string message) { message = RequstFormatConversion(message); if (message[0] != '\\') { GameSpyUtils.SendGPError(this, GPErrorCode.General, "An invalid request was sended."); return; } string[] commands = message.Split("\\final\\"); foreach (string command in commands) { if (command.Length < 1) { continue; } // Read client message, and parse it into key value pairs string[] recieved = command.TrimStart('\\').Split('\\'); Dictionary <string, string> dict = GameSpyUtils.ConvertGPResponseToKeyValue(recieved); CommandSwitcher.Switch(this, dict); } }