Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Создать клиент-серверное приложение «Библиотека»

Автор:   •  Апрель 27, 2022  •  Лабораторная работа  •  2,357 Слов (10 Страниц)  •  177 Просмотры

Страница 1 из 10

Лабораторная работа №2

 по дисциплине: «Операционные системы»

Лабораторная работа №2

Ф.И.О.

Группа

Преподаватель

Дата сдачи

Цель работы: создать клиент-серверное приложение «Библиотека».

Алгоритм программы:

Запускается приложение, имеющее клиентскую и серверную части, которые являются отдельными программами. Клиентская часть при запуске порождает серверную как новый процесс. Клиентская часть берет на себя работу с интерфейсом пользователя, серверная – работу с файлами и обработку информации. Сервер осуществляет хранение информации. Информация о записях сохраняться в файл *.csv. Между собой клиентская и серверная части взаимодействуют через именованный канал.

Окно клиента отображает 4 поля для записи: имя автора, название книги, год издания и издательство. Так же в окне 2 кнопки : отправить (данные) на сервер и остановить сервер.

Если сервер остановлен или не запущен, то программа выдает соответствующее сообщение. При добавлении информации, программа выдаст окно с записью о том, что книга успешно добавлена.

Листинг программы:

Клиент:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Diagnostics;

using StopWordsModel;

using System.IO;

using System.IO.Pipes;

namespace ClientServerApp

{

    public partial class Form1 : Form

    {

        private NamedPipeClientStream _pipeClientStream;

        private StreamWriter _streamWriter;

        private string _bookAuthor;

        private string _bookName;

        private string _bookYear;

        private string _bookPublisher;

        private Process _process;

        public Form1()

        {

            InitializeComponent();

            // Запуск сервера

            StartServer();

        }

         

        private void StartServer()

        {

            _process = Process.Start("Server");

            //Создание именованного канала

            _pipeClientStream = new NamedPipeClientStream(NameOptions.PipeName);

            // и подключение к нему

            _pipeClientStream.Connect();

            _streamWriter = new StreamWriter(_pipeClientStream) { AutoFlush = true };

        }

        // Отправка данных на сервер

        private void ButtonSend_Click(object sender, EventArgs e)

        {

            if (_process.HasExited)

            {  

                if (MessageBox.Show(text: "Сервер остановлен. Запустить?",

                    caption: "О как. А сервер остановлен",

                    MessageBoxButtons.OKCancel) == DialogResult.OK)

                {

                    StartServer();

                }

                else

                {  

                    return;

                }

            }

            _streamWriter.WriteLine(MessagesServer.StartServerMessage);

...

Скачать:   txt (9.1 Kb)   pdf (746.1 Kb)   docx (663.3 Kb)  
Продолжить читать еще 9 страниц(ы) »
Доступно только на Essays.club