Witam! Próbuję napisać prostego klienta gadu na razie w konsoli, a potem na WinForms (może zostanę przy konsoli ;p). Problem mam taki, że nie działa mi jakby logowanie, zmiana statusu, wysyłanie wiadomości i odbieranie. Mój klient łączy się z serwerem i jest ok, potem się loguje i też jest niby wszystko ok, event LoginOK jest wywoływany i potem jak chcę wysłać wiadomość to nie dochodzi, odiberanie też nie, a nawet podobno nawet zalogowany nie jestem ;( Ktoś może poradzić coś na to? Kod:
static Gadu gadu = new Gadu();
static void ReceiveMessage(GaduPacketRecieveMessage message) //odbieranie wiadomości
{
Console.WriteLine("Wiadomość od [" + message.Sender + "]: " + message.Message);
}
static void MessageAck(GaduPacketMessageAck ack) // potwierdzenie wysłania
{
if (ack.Status == GaduPacketConstans.GG_ACK_BLOCKED)
Console.WriteLine("Wiadomość zablokowana");
else if (ack.Status == GaduPacketConstans.GG_ACK_DELIVERED)
Console.WriteLine("Wiadomość dostarczona");
else if (ack.Status == GaduPacketConstans.GG_ACK_QUEUED)
Console.WriteLine("Wiadomość zakolejkowano");
else if (ack.Status == GaduPacketConstans.GG_ACK_MBOXFULL)
Console.WriteLine("Odbiorca ma pełną skrzynkę odbiorczą");
else if (ack.Status == GaduPacketConstans.GG_ACK_NOT_DELIVERED)
Console.WriteLine("Wiadomość nie dostarczona");
}
static void ReceivePacket(GaduPacketHeader header) // odbieranie pakietu
{
Console.WriteLine("Odebrano pakiet [size: " + header.getSize() + "]");
}
static void SentPacket(IGaduPacket packet) // wysyłanie pakietu
{
Console.WriteLine("Wysłano pakiet [size: " + packet.getSize() + "]");
}
static void LoginOK()
{
Console.WriteLine("Zalogowano");
gadu.changeStatus(GaduPacketConstans.GG_STATUS_AVAIL_DESCR, "blablabla...");
gadu.sendMessage(1234567, "działa to kurewstwo czy nie?!");
}
static void LoginFailed()
{
Console.WriteLine("Logowanie nie powiodło się");
}
static void Main(string[] args)
{
GaduServer server = new GaduServer("91.214.237.2", 8074); // próbowałem różne serwery, ale to samo ;/
int uin;
string password;
gadu.Sender.OnPacketSent += new OnPacketSentHandler(SentPacket);
gadu.Reciever.OnPacket += new OnPacketHandler(ReceivePacket);
gadu.Reciever.OnLoginOK += new OnLoginOKHandler(LoginOK);
gadu.Reciever.OnLoginFailed += new OnLoginFailedHandler(LoginFailed);
gadu.Reciever.OnRecieveMessage += new OnRecieveMessageHandler(ReceiveMessage);
Console.WriteLine("Łączenie z serwerem Gadu-Gadu... [" + server.Host + ", " + server.Port + "]");
gadu.Connect(server); // łączenie z serwerem
Console.WriteLine("Połączono");
Console.WriteLine("Podaj numer GG i hasło:");
uin = int.Parse(Console.ReadLine()); // numer
password = Console.ReadLine(); // hasło
gadu.Login(uin, password); // logowanie
Console.WriteLine("Logowanie...");
Console.Read();
gadu.Logout();
gadu.Disconnect();
System.Threading.Thread.Sleep(1000);
}
Dodam, że wszystko robię tak jak jest w poradniku dołączonym na stronce projektu ;/