Как изменить код сервера, чтобы он заработал? - C#

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

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

Сервер не пашет, что не так?
using System;
using System.IO;
using System.Net;
using System.Diagnostics;
using System.Net.Sockets;
using System.Text;
using System.Xml.Serialization;
 
public class UdpServer
{
    [Serializable]
    public class FileDetails
    {
        public string FILETYPE = "";
        public long FILESIZE = 0;
    }
 
    private static FileDetails fileDet;
 
    private static int localPort = 5002;
    private static UdpClient receivingUdpClient = new UdpClient(localPort);
    private static IPEndPoint RemoteIpEndPoint = null;
 
    private static FileStream fs;
    private static Byte[] receiveBytes = new Byte[0];
 
    [STAThread]
    static void Main(string[] args)
    {
        int recv;
        byte[] data = new byte[1024];
        IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
        Socket SrvSock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
        SrvSock.Bind(ipep);
        Console.WriteLine("Ожидаем соединения с клиентом...");
        IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
        EndPoint Remote = (EndPoint)(sender);
 
        recv = SrvSock.ReceiveFrom(data, ref Remote);
 
        Console.Write("Сообщение получено от {0}: ", Remote.ToString());
        Console.WriteLine(Encoding.UTF8.GetString(data, 0, recv));
 
        string welcome = "Подключение к серверу выполнено";
        data = Encoding.UTF8.GetBytes(welcome);
        SrvSock.SendTo(data, data.Length, SocketFlags.None, Remote);
 
        ReceiveFile();            
    }
 
    public static void ReceiveFile()
    {
        try
        {
            while (true)
            {
                Console.WriteLine("---**Ожидание получения файла**---");
                receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint);
 
                Console.WriteLine("Файл получен");
 
                fs = new FileStream("temp." + fileDet.FILETYPE, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
                fs.Write(receiveBytes, 0, receiveBytes.Length);
 
                Console.WriteLine("Файл сохранен");
                Console.WriteLine("Открытие файла");
 
                Process.Start(fs.Name);
            }
        }
        catch (Exception eR)
        {
            Console.WriteLine(eR.ToString());
        }
        finally
        {
            fs.Close();
            receivingUdpClient.Close();
            Console.Read();
        }
    }
}

Решение задачи: «Как изменить код сервера, чтобы он заработал?»

textual
Листинг программы
fs = new FileStream("temp." + fileDet.FILETYPE, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);

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


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

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

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