C# - mi ebben a hiba?
Mi ebben a hiba?:S
using System;
using System.Collections.Generic;
using Project.Network;
using System.Linq;
using System.Text;
namespace LoginServer
{
public partial class Systems
{
public void Connect()
{
try
{
PacketReader Reader = new PacketReader(PacketInformation.buffer);
if (Reader.Byte() == 18)
{
string ID = Reader.Text();
string PW = Reader.Text();
byte ukn = Reader.Byte(); // 0xff
UInt16 ServerID = Reader.UInt16();
int lResult = 99;
Serverinfo SSI = GSList[ServerID];
if (SSI != null)
{
UInt16 myKey = 0;
string sReason = "";
lock (Maincs.IPCResultList)
{
myKey = Maincs.IPCNewId++;
}
byte[] rqp = Maincs.IPCServer.PacketRequestLogin(Maincs.IPCPort, ID, PW, myKey);
Servers.IPCenCode(ref rqp, SSI.code);
lock (Maincs.IPCResultList)
{
Maincs.IPCResultList.Add(myKey, new Maincs.IPCItem());
Maincs.IPCResultList[myKey].resultCode = 0x8000;
}
Maincs.IPCServer.Send(SSI.ip, SSI.ipcport, rqp);
DateTime tOut = DateTime.Now.AddSeconds(30);
while ((tOut >= DateTime.Now) && (Maincs.IPCResultList[myKey].resultCode == 0x8000) && (client.clientSocket.Connected))
{
System.Threading.Thread.Sleep(10);
}
lResult = Maincs.IPCResultList[myKey].resultCode;
sReason = Maincs.IPCResultList[myKey].banReason;
lock (Maincs.IPCResultList)
{
Maincs.IPCResultList[myKey] = null;
Maincs.IPCResultList.Remove(myKey);
}
rqp = null;
switch (lResult)
{
case 0:
client.Send(ConnectSucces(SSI.extip != "" ? SSI.extip : SSI.ip, (Int16)SSI.port, 1));
return;
case 1:
if (WrongPassword < 3)
{
client.Send(WrongInformation());
WrongPassword++;
return;
}
else
{
client.Disconnect(PacketInformation.Client);
return;
}
case 2:
client.Send(ServerIsFull());
client.Disconnect(PacketInformation.Client);
return;
case 3:
client.Send(AllreadyConnected());
client.Disconnect(PacketInformation.Client);
return;
case 4:
client.Send(BannedUser(sReason));
client.Disconnect(PacketInformation.Client);
return;
default:
if (lResult == 0x8000)
{
//timeout
}
else
{
}
return;
}
}
}
}
catch (Exception)
{
}
}
bool CheckCrowed(ushort serverid)
{
Serverinfo SI = GSList[serverid];
if (SI != null)
{
if (SI.usedSlots >= SI.maxSlots)
{
return true;
}
}
return false;
}
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!