Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой - C#

Узнай цену своей работы

Формулировка задачи:

Как сделать так чтобы при подключении нулевого порта выполнялся один цикл кода, а при подключении другого другой. И вообще возможно ли это сделать или нужно в многопоточность углубляться? Вот код только для нулевого порта. Всяко пытался ничего не получается=(
static void Main(string[] args)
        {
 
            IPHostEntry ipHost = Dns.GetHostEntry("localhost");
            IPAddress ipAddr0 = ipHost.AddressList[0]; // соединение для 0 порта
           // IPAddress ipAddr1 = ipHost.AddressList[1]; // вот типо такого олжно получиться

                IPEndPoint ipEndPoint0 = new IPEndPoint(ipAddr0, 11000);
 
                Socket sListener0 = new Socket(ipAddr0.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
 
                try
                {
                    sListener0.Bind(ipEndPoint0);//назначаем порт
                    sListener0.Listen(10);
 
                    // Начинаем слушать соединения
                    while (true)
                    {
                        Console.WriteLine("Ожидаем соединение через порт {0}", ipEndPoint0);
 
                        Socket handler = sListener0.Accept();
                        string data = null;
 
                        byte[] bytes = new byte[1024];
                        int bytesRec = handler.Receive(bytes);
 
                        data += Encoding.UTF8.GetString(bytes, 0, bytesRec);
 
                        Console.Write("Полученный текст: " + data + "\n\n");
 
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                finally
                {
                    Console.ReadLine();
                }
            
            }

Решение задачи: «Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой»

textual
Листинг программы
byte[] bytes = new byte[1024];
            IPHostEntry ipHost = Dns.GetHostEntry("localhost");
           // IPAddress ipAddr = ipHost.AddressList[0];
            IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 11000);// port);
            Socket senderr = new Socket(IPAddress.Parse("0.0.0.0").AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            senderr.Connect(ipEndPoint);
 
            string cmd;
            cmd = tbsyrname.Text;
            byte[] msg = Encoding.UTF8.GetBytes(cmd);
            int bytesSent = senderr.Send(msg);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы