Ver um Único Post
Antigo 22-06-2009, 10:59 AM   #1
Muralha
Membro - Soldado
 
Avatar de Muralha
 
Registrado em: Jan 2009
Posts: 15
Agradeceu: 2
Agradecido 50 Vezes em 9 Posts
Achei Ruim:
Acharam ruim Vezes em Posts

Inventório de Muralha

Padrão 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 .

Muralha está offline  
Os Seguintes 13 Usuários disseram Obrigado(a) para Muralha por gostarem deste post :
350Z (01-07-2009), Bruno (08-08-2009), ChoVinisTa (22-06-2009), Jotah'Z! (26-06-2009), L2 DF (24-08-2009), Lavinas (26-07-2009), LolMaster (22-06-2009), macabriNn (30-06-2009), marcosrb (30-06-2009), oseiaswgi (25-08-2009), vicfelipe (23-06-2009), yagosd (15-09-2009), Zedy (09-07-2009)
Links Patrocinados