Можем ли мы создать службу Windows с C # Socket - PullRequest
0 голосов
/ 12 октября 2018

Я хочу создать службу Windows из этого кода.Любой может помочь в создании службы Windows.Я сам много раз пробовал, но у меня получается 50% успеха.В моем коде у меня было 3 функции, которые я хочу выполнить после соединения с клиентским приложением.

    public static class Program
    {
        public static TcpClient client;
        private static TcpListener listener;
        private static string ipString;
        static void Main(string[] args)
        {
            IPAddress[] localIp = Dns.GetHostAddresses(Dns.GetHostName());
            foreach (IPAddress address in localIp)
            {
                if (address.AddressFamily == AddressFamily.InterNetwork)
                {
                    ipString = address.ToString();
                }
            }
            IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ipString), 1234);
            listener = new TcpListener(ep);
            listener.Start();
            client = listener.AcceptTcpClient();
            while (client.Connected)
            {
                try
                {
                    const int bytesize = 1024 * 1024;
                    byte[] buffer = new byte[bytesize];
                    string x = client.GetStream().Read(buffer, 0, bytesize).ToString();
                    var data = ASCIIEncoding.ASCII.GetString(buffer);

                    if (data.ToUpper().Contains("SLP2"))
                    {
                        Sleep();
                    }
                    else if (data.ToUpper().Contains("SHTD3"))
                    {
                        Shutdown();
                    }
                    else if (data.ToUpper().Contains("TSC1"))
                    {
                        var bitmap = SaveScreenshot();
                        var stream = new MemoryStream();
                        bitmap.Save(stream, ImageFormat.Bmp);
                        sendData(stream.ToArray(), client.GetStream());
                    }
                }
                catch (Exception exc)
                {
                    client.Dispose();
                    client.Close();
                }
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...