1 Projeto BR ;D de AION em C#
Bom galera para estudos etc .
To desenvolvendo em c# .
Segue um simples exemplo claro que depois vo adicionar nas camadas
.
TcpListener myList;
Socket s;
try
{
IPAddress ipAd = IPAddress.Parse(EConfig.Login_Server_Host);
myList = new TcpListener(ipAd, EConfig.Login_Server_Port);
myList.Start();
while (true)
{
Console.WriteLine("#Servidor utilizando a porta ..." + EConfig.Login_Server_Port);
Console.WriteLine("#Login Server :" + myList.LocalEndpoint);
Console.WriteLine("#Aguardando Login de Jogo.....");
s = myList.AcceptSocket();
Console.WriteLine("#Login Aceito de " + s.RemoteEndPoint);
byte[] b = new byte[128];
string Recebido = null;
s.ReceiveTimeout = 10000;
int ivalor = s.ReceiveBufferSize;
Console.WriteLine("Total Buffer = " + ivalor.ToString());
Console.WriteLine("Available" + s.Available.ToString());
Console.WriteLine("Connect" + s.Connected.ToString());
Console.WriteLine("Hanlde" + s.Handle.ToString());
Console.WriteLine("Bound" + s.IsBound.ToString());
//Console.WriteLine("MultiCast" + s.MulticastLoopback.ToString());
int testes = s.Receive(b,b.Length,0);
Console.WriteLine("#Teste " + Encoding.UTF8.GetString(b, 0, testes));
/*TcpClient xx = new TcpClient(ipAd);
xx.GetStream().Read(b, 0, b.Length); nao testei ainda*/
/*int testes = s.Receive(b);
Console.WriteLine("#Teste " + Encoding.UTF8.GetString(b,0,testes));*/
//s.Receive(
//Console.WriteLine(Encoding.UTF8.GetString(b));
//Console.WriteLine("Teste " + s.Receive(b).ToString());
/*
if (BytesRecebidos > 0)
{
Recebido += Encoding.GetEncoding(1252).GetString(b, 0, BytesRecebidos);
}
Console.WriteLine("Login Recebido :" + Recebido);*/
/*
Console.WriteLine("Total Buffer : " + ivalor);
int k = s.Receive(b);
Console.WriteLine("Total de bytes : " + k);
Console.WriteLine("Recieved...");
for (int i = 0; i < k; i++)
Console.Write(Convert.ToChar(b[i]));*/
Console.WriteLine();
}
s.Close();
myList.Stop();
}
catch (Exception ex)
{
Console.WriteLine("Erro " + ex.Message);
}
De inicio ele recebe os dados do login pela porta 2106 .
Mas durante os estudos antes e devido ter encrypt e decrypt do mesmo ;D
1 - tem que enviar 1 pakcet para o game abrindo sessão apos isso retorna o packet com o login .
Obs: obvio que ta no inicio ;D.
2 - Apos receber o login executar o descrypt que to trabalhando no encrypt e descrypt do mesmo .
|