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



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

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

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

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

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

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

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

Понятие массовых мероприятий, их виды Под массовыми мероприятиями следует понимать совокупность действий или явлений социальной жизни с участием большого количества граждан...

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