Beispiel #1
0
 private void checkConnect()
 {
     if (im == null || !im.isConnected())
     {
         im = new IMClientEngine(IMConfigManager.IMHost, IMConfigManager.IMPort);
         im.setConnectListener(clientConnectListener);
         im.connect();
     }
 }
Beispiel #2
0
        static void UserLogin(IMClientEngine client, ulong userId, string token)
        {
            ClientValidateExecutor clientValidate = new ClientValidateExecutor(response =>
            {
                client.GlobalMessageHead.Session = response.Output;
            });

            clientValidate.UserId = userId;
            clientValidate.Token  = token;
            client.Send(clientValidate);
        }
Beispiel #3
0
        static void Exec(IMClientEngine client)
        {
            Print();

            ulong currentUserId = 0;

            while (true)
            {
                try
                {
                    string key = Console.ReadLine();
                    if (key?.ToLower() == "q")
                    {
                        break;
                    }
                    else if (key.StartsWith("login"))
                    {
                        string[] parameters = key.Split(' ');
                        currentUserId = ulong.Parse(parameters[1]);
                        UserLogin(client, currentUserId, parameters[2]);
                    }
                    else if (key.StartsWith("connect"))
                    {
                        client.Connect();
                        ClientConfig.WriteLine($"Current client endpoint: {client.LocalAddress}", ConsoleColor.Green);
                    }
                    else if (key.StartsWith("logout"))
                    {
                        client.Stop();
                        break;
                    }
                    else if (key.StartsWith("user"))
                    {
                        string[] parameters = key.Split(' ');
                        User(client, currentUserId, ulong.Parse(parameters[1]), parameters[2]);
                    }
                    else if (key.StartsWith("group"))
                    {
                        string[] parameters = key.Split(' ');
                        Group(client, currentUserId, parameters[1], parameters[2]);
                    }
                    else
                    {
                        Print();
                    }
                }
                catch (Exception ex)
                {
                    Print();
                    ClientConfig.WriteLine(ex.ToString(), ConsoleColor.Red);
                }
            }
        }
Beispiel #4
0
        static void Group(IMClientEngine client, ulong fromUser, string toGroup, string textMessage)
        {
            GroupExecutor groupExecutor = new GroupExecutor();

            groupExecutor.GroupMessage = new ImGroupMessage()
            {
                FromUserId  = fromUser,
                ToGroup     = toGroup,
                ContentType = "text",
                ContentBody = textMessage,
            };
            client.Send(groupExecutor);
        }
Beispiel #5
0
        static void User(IMClientEngine client, ulong fromUser, ulong toUser, string textMessage)
        {
            UserExecutor userExecutor = new UserExecutor();

            userExecutor.UserMessage = new ImUserMessage()
            {
                FromUserId  = fromUser,
                ToUserId    = toUser,
                ContentType = "text",
                ContentBody = textMessage,
            };
            client.Send(userExecutor);
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            LogHelper.InitConfigure();

            IMClientEngine client = new IMClientEngine("127.0.0.1", 8050, clientListener: new IMClientLisenter());

            client.Register(new ClientPingExecutor());
            client.Register(new UserExecutor());
            client.Register(new GroupExecutor());
            client.GlobalMessageHead = new ImMessageHead()
            {
                Client   = "windows",
                Language = "c#",
                //Session = null,
                Version   = "1.0.0",
                Timestamp = 0,
            };
            Console.WriteLine($"Connecting to server({client.Host}:{client.Port}) ...");
            client.Connect();
            ClientConfig.WriteLine($"Current client endpoint: {client.LocalAddress}", ConsoleColor.Green);

            Exec(client);
        }