Клиент-Сервер на UDP. Работающий - C#

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

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

Всем привет, я в C# недавно. Есть готовый клиент сервер на ЮДП. Отправляет только одно сообщение и на этом все. Мне надо что-бы и сервер смог отправить ответное сообщение. Я сам не смог сделать. Посмотрите может у кого есть идеи. Я не говорю чтобы за меня сделали что-то. Просто прощу объяснить кому не трудно. Заранее благодарю. Вот сервер:
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace udp_chat__
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Создаем UdpClient
                UdpClient udpClient = new UdpClient(5001);
 
                // Создаем переменную IPEndPoint, чтобы передать ссылку на нее в Receive()
                IPEndPoint RemoteIPEndPoint = null;
 
                // Получение данных
                byte[] bytes = udpClient.Receive(ref RemoteIPEndPoint);
                string results = Encoding.UTF8.GetString(bytes);
                Console.WriteLine(results);
                Console.ReadKey();
 
                // Закрываем соединение
                udpClient.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
 
namespace udp_chat
{
    class Program
    {
        static void Main(string[] args)
        {
            IPAddress ipAddr = IPAddress.Parse("127.0.0.1");
 
            try
            {
                // Создаем UdpClient
                UdpClient udpClient = new UdpClient();
 
                // Соединяемся с удаленным хостом
                udpClient.Connect(ipAddr, 5001);
 
                // Отправка простого сообщения
                byte[] bytes = Encoding.UTF8.GetBytes("Test");
                udpClient.Send(bytes, bytes.Length);
 
                // Закрываем соединение
                udpClient.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
    }
}

Решение задачи: «Клиент-Сервер на UDP. Работающий»

textual
Листинг программы
static void Main(string[] args)
{
    int port = 5001;
    UdpClient server = null;
    try
    {
        server = new UdpClient(port);
        // Создаем переменную IPEndPoint, чтобы передать ссылку на нее в Receive()
        IPEndPoint remoteEP = null; 
        // Получаем и отдаем сразу. Эхо сервер
        while(true)
        {
            byte[] bytes = server.Receive(ref remoteEP);
            server.Send(bytes, bytes.Length, remoteEP);
            string results = Encoding.UTF8.GetString(bytes);
            Console.WriteLine(remoteEP.ToString() + " отправил:" + results);
            if(results.ToLower().Equals("stop server")) break;
        } 
    }
    catch (Exception ex)
    {
    }
    finally
    {
        if (server != null) server.Close();
    }
}

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


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

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

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