Exemplo n.º 1
0
    public static void ExecuteServerManual(Server server, int portNumber)
    {
        server.Initialize(portNumber);
        server.CreateSocketAndStandBy();
        server.WaitAccess();

        while (true)
        {
            Console.Write("please enter: ");
            var str = Console.ReadLine();
            if (str == dx.Socket.Constant.EndOfMessages)
            {
                server.SendWithHeaderString(LogLevel.Info, "Cs.Manual.Server.String", str);
                // server.Send(Encoding.UTF8.GetBytes(str));
                Console.WriteLine("See you...");
                break;
            }
            else if (str.Length == 0)
            {
                Console.WriteLine("receive...");
                var msg = server.Receive();
                if (msg == dx.Socket.Constant.EndOfMessages)
                {
                    Console.WriteLine("See you...");
                    break;
                }
                else
                {
                    Console.WriteLine($"received: {msg}");
                }
            }
            else
            {
                if (str.EndsWith(".png"))
                {
                    str = "/Users/kazuaki/Documents/develop/Network/SocketTest02/" + str;
                    if (System.IO.File.Exists(str))
                    {
                        Console.WriteLine($"Image file is Exist! {str}");
                        server.SendWithHeaderImagePath(LogLevel.Debug, "Cs.Manual.Server.ImagePath", str);
                    }
                    else
                    {
                        Console.WriteLine($"Image file is not exist! {str}");
                    }
                }
                else if (str.Contains("."))
                {
                    float value = float.Parse(str);
                    server.SendWithHeaderFloat(LogLevel.Info, "Cs.Manual.Server.Float", value);
                }
                else if (str.Contains("0"))
                {
                    int value = int.Parse(str);
                    server.SendWithHeaderInt(LogLevel.Info, "Cs.Manual.Server.Int", value);
                }
                else
                {
                    server.SendWithHeaderString(LogLevel.Info, "Cs.Manual.Server.String", str);
                }
                Console.WriteLine("send...");
                // server.Send(Encoding.UTF8.GetBytes(str));
            }
        }

        server.ShutdownAndClose();
    }