Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
 Аватар для alexey31415
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632

Простой почтовый ящик на локальном компьютере

22.08.2012, 08:21. Показов 3514. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал пример почтового ящика по примеру из книги:есть приложение-сервер,которое принимает строку и печатает её,а приложение-клиент просит ввести строку и отправляет её серверу.Мне захотелось улучшить,чтоб я мог вводить фразы сколько захочу и выйти из программы,когда пожелаю,а на деле строка отправляется лишь один раз,а потом я банально не могу даже ввести фразу,так как пропускается этот шаг,после введите фразу сразу пишет введите 0 для выхода и 1 для продолжения
сервер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int main()
{
    HANDLE mailslot;
    char buffer[256];
    DWORD NumberOfBytesRead;
 
    if((mailslot = CreateMailslot(
        "\\\\.\\Mailslot\\E",
        0,
        MAILSLOT_WAIT_FOREVER,
        NULL)) == INVALID_HANDLE_VALUE)
    {
        printf("Failed to create a mailslot %d\n",GetLastError());
        system("pause");
        return 0;
    }
 
    while(ReadFile(mailslot,buffer,256,&NumberOfBytesRead,NULL) != 0)
    {
        printf("%.*s\n",NumberOfBytesRead,buffer);
    }
 
    system("pause");
    return 0;
}

клиент
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
int main()
{
    HANDLE mailslot;
    DWORD BytesWritten;
    char ServerName[256];
 
    sprintf(ServerName,"\\\\.\\Mailslot\\E");
 
    if((mailslot = CreateFile(ServerName,
        GENERIC_WRITE,
        FILE_SHARE_READ,
        NULL,
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL,
        NULL)) == INVALID_HANDLE_VALUE)
    {
        printf("CreateFile failed with error %d\n",GetLastError());
        system("pause");
        return 0;
    }
 
    bool choise = true;
    string phrase;
 
    while(choise)
    {
    cout << "Enter a phrase:\n";
    getline(cin,phrase);
 
    if(WriteFile(
        mailslot,
        phrase.c_str(),
        32,
        &BytesWritten,
        NULL) == 0)
    {
        printf("WriteFile failed with error %d\n",GetLastError());
        system("pause");
        return 0;
    }
 
    cout << "Enter 0 to exit\n";
    cout << "Enter 1 for continue\n";
 
    cin >> choise;
    }
 
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.08.2012, 08:21
Ответы с готовыми решениями:

Требуется взломать почтовый почтовый ящик
Здравствуйте! требуется взломать почтовый ящик. Пишите в личку.

Почтовый ящик
Добрый день! вопросец: пользователе сделал архивирование почты в ней в папке &quot;входящие&quot; письма не видны, видны в других...

Почтовый ящик
Как вытащить почтовый ящик пользователя на рабочий стол?

3
Модератор
 Аватар для vxg
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
14.09.2012, 07:40
наверное есть символ перевода строки после вывода приглашения или ввода выбора (почему-то только во второй раз). вот так работает
C++
1
2
    cin >> choise;
    cin.ignore();
0
49 / 44 / 8
Регистрация: 06.09.2010
Сообщений: 419
14.09.2012, 16:26
А что за книга у вас?
0
 Аватар для alexey31415
60 / 60 / 7
Регистрация: 16.05.2010
Сообщений: 632
14.09.2012, 16:51  [ТС]
А.Джонс Сетевое программирование в среде Windows
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.09.2012, 16:51
Помогаю со студенческими работами здесь

Почтовый ящик
Добрий день товарищи!!! Помогите написать задачу.. Написать программу для сортировки почты, которая позволяет ввести с клавиатуры...

Почтовый ящик
В почтовом ящике лежат письма, каким то образом можно понять входящие письмо или нет (кроме визуального)?? Допустим открывая письмо из...

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

Общий почтовый ящик
Ребята, добрый день! Подскажите плиз, стоит такая задача, нужно создать почтовый ящик для отдела продаж - sales@mydomain.com, надо...

Ссылка на почтовый ящик
Добрый день, даю ссылку на почтовый ящик, но при нажатии не отрабатывает(пользуюсь the bat). &lt;a href=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru