Как изменить код сервера, чтобы он заработал? - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д