Студопедия — по лабораторной работе № 2
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

по лабораторной работе № 2






По дисциплине «Программное обеспечение

компьютерных сетей»

 

Выполнил: студент группы 4331 Ахунов Артур Ифратович
   
Преподаватель: доцент каф. КС Гибадуллин Руслан Фаршатович

 

 

Казань

 

 

Цель работы:

Разработать программный модуль с применением асинхронной операции чтения согласно заданию.

 

Задание:

1. Прочитать теорию.

2. Создать проект по созданию консольного приложения Visual С #.

3. Написать программу на C# для выполнения шагов 4-9.

4. Создать файл «File.txt», порождая исключение, если этот файл уже существует.

5. Создать файл «File.txt», перезаписывая уже существующий файл, с доступом на чтение/запись и с предоставлением текущему процессу и другим процессам разрешение на чтение/запись.

6. Записать в созданный файл строку: «I entered the Kazan National Research Technical University named after A.N. Tupolev».

7. Считать записанную строку из файла и вывести в консоли.

8. Осуществить асинхронную операцию чтения потока из файла «File.txt» до тех пор, пока не встретиться слово «Technical». (Подсказка: реализовать такой поиск следует посредством функции обратного вызова.) Замечание: в программе после асинхронной операции следует выполнить имитацию основной обработки.

Выполнение:

 

1) Заходим на ссылку https://www.dropbox.com/sh/nrhnmpgu4642hp0/0jR_h4_Inu

2) Скачиваем и устанавливаем Visual Studio 2008

3) Открываем Visual Studio 2008

 

4) Создаем новый проект для выполнения задания

5) Нажимаем Ctrl-N открывается новое окно с выбором формата проекта

6) В правой колонке Project types, имещ вкладку Other languages выбираем Visual C# -Windows

7) Далее в следующем окне ищем Console Application

8) В открытом окне начинаем создавать программу согласно условиям

 

 

Программный код программы

using System; // разрешает использование типов в пространстве имен, поэтому уточнение использования типа в этом пространстве имен не требуется

using System.Collections.Generic;

using System.Linq;

using System.Text; // Синхронный ввод вывод

using System.IO; // Синхнонный ввод вывод

using System.Threading;

 

namespace Console

{

class Program

{

static FileStream file; // Выполняется операция ввода вывода

static byte[] buf = new byte[10]; // Создание буфера с длиной 10 байт

static AsyncCallback Callback; // Поле-делегат для функции обратного вызова

static string str = "";

 

static void Main(string[] args)

{

Callback = new AsyncCallback(CallBackFunction);

Callback = CallBackFunction;

file = new FileStream("File.txt", FileMode.Open, FileAccess.Read, FileShare.Read, 10, true); // Конструкция файла, параметры FileMode показывают как открывать файл, FileAceess.Read даёт разрешение только на чтение файла

file.BeginRead(buf, 0, 10, Callback, null); // Файл начинает считываться каждые 10 байт

Thread.Sleep(3000); // имитация основной обработки

}

 

static void CallBackFunction(IAsyncResult AsRes)

{

int res = file.EndRead(AsRes);

str += Encoding.ASCII.GetString(buf);// Преобразуется в строку GetString() класса Encoding

System.Console.WriteLine(str);

if (res > 0 &&!str.Contains("Technical"))

{

file.BeginRead(buf, 0, 10, Callback, null); // Файл начинает считываться по 10 файт, если слово не будет найдено, иначе программа выдаёт предложение

 

}

else

{

System.Console.WriteLine("Файл завершился или найдено ключевое слово."); // Программа выводит на экран предложение данное в кавычках

}

}

}

}

 







Дата добавления: 2015-06-16; просмотров: 424. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Лечебно-охранительный режим, его элементы и значение.   Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия