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

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

по лабораторной работе № 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; просмотров: 447. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

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