Как организовать работку клиент-сервера TCP Socket - C#
Формулировка задачи:
Написать 3 программы, работающие по протоколу TCP.
Первая (клиент)
- запрашивает список файлов на сервере. После получения списка файлов, запрашивает нужный файл. Указывается IP и порт сервера, а так же IP и порт клиент-сервераВторая (сервер)
- предоставляет список имеющихся файлов. Отправляет требуемый файл. Работает на определенном порту.Третья (клиент - сервер)
- программа посредник, передает данные от клиента к серверу, и от сервера клиенту. У данной программы имеется Кеш, размером 5 мегабайт. Если запрашиваемый файл клиентом есть на клиент-сервере, то запрос обрабатывается и файл передаётся от клиент-сервера клиенту. Среда разработки С#. Запрещается использовать готовые компоненты. Организовать передачу данных используя сокеты. Как написать клиента и сервера отдельно вопросов нет, а как реализовать клиент-сервера непонятно. У кого какие идеи? Заранее благодарен!Решение задачи: «Как организовать работку клиент-сервера TCP Socket»
textual
Листинг программы
public static TheRyuzaki.Network.Server Network = new Server(System.Net.IPAddress.Any, 8095); static void Main(string[] args) { Network.ClientConnected = OnClientConnected; Network.ClientDisconnected = OnClientDisconnected; Network.ServerStarted = OnServerStarted; Network.ServerStoped = OnServerStoped; Network.ClientSendedMessage = OnClientSendedMessage; while (true) { var command = Console.ReadLine(); var ex = command.Split(' '); switch (ex[0]) { case "kick": Network.CloseSession(Convert.ToInt32(ex[1])); break; case "exit": Network.StopServer(); Environment.Exit(0); break; case "start": Network.StartServer(); break; case "stop": Network.StopServer(); break; } } } public static void OnServerStarted() { Console.WriteLine("Сервер успешно запущен."); } public static void OnServerStoped() { Console.WriteLine("Сервер успешно остановлен."); } public static void OnClientConnected(int id_session) { Console.WriteLine("Новый клиент подключен, ID Session: "+id_session); } public static void OnClientDisconnected(int id_session, Dictionary<string, object> UserInfo) { Console.WriteLine("Клиент отключился. Надеемся что он еще вернется."); } public static void OnClientSendedMessage(int id_session, string message) { Console.WriteLine("Клиент #" + id_session + ", прислал сообщение: " + message); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д