Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать так чтоб сообщения из mailslot читались "сразу как оно там появится"?
|
|||
|---|---|---|---|
|
#18+
Можно опытным путем проверить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вставь Sleep(), GetMailslotInfo() только чтобы видеть сколько в очереди на текущий момент. Отправь подряд 10 сообщений и посмотри как примутся. Если GetMailslotInfo() покажет что больше одного в очереди, а примет по одному, то считай что ReadFile() читает по одному, а не пачкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2014, 09:32 |
|
||
|
Как сделать так чтоб сообщения из mailslot читались "сразу как оно там появится"?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Проблема может возникнуть при создании слота, если уже запущен экземпляр приложения (!!! в том числе и под другим аккаунтом). Т.е. на одном компе не может быть двух слотов с одним именем. Как вариант использовать ProcessID и добавлять его в имя слота. Двух работающих процессов с одинаковым ProcessID быть не может, даже под разными пользователями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2014, 10:22 |
|
||
|
Как сделать так чтоб сообщения из mailslot читались "сразу как оно там появится"?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Имя этой волшебной команды "taskkill.exe" -ну или API в том же духе. это только от бессилия. приложение по-возможности закрывать аккуранто следует (дабы всё записалось, ресурсы освободились - чудес нет, утекать может всё что угодно) Дмитрий77Проблема может возникнуть при создании слота, если уже запущен экземпляр приложения всё зависит от того, что ты хочешь сделать. передававть свои команды всем? или запрещать запуск второго экземпляра? или устанавливать связь с запускаемым приложением(пользователь не запускает приложение самостоятельно)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2014, 11:16 |
|
||
|
Как сделать так чтоб сообщения из mailslot читались "сразу как оно там появится"?
|
|||
|---|---|---|---|
|
#18+
Изопропил, Dima T Спасибо за участие. Но вы вот сейчас начинаете копать архитектуру проекта и давать общие советы. Как приложение закрывать, как длину сообщения проверять, как еще 10 dll-к подключать. Будто я тут школьник и всего этого не знаю и не понимаю. Не запускается у меня по логике 2 экземпляра. И for(;;) Sleep(5000) на конце main() не я придумал и я даже знаю чем это напр. реально чревато: в одном из 100 случаев запущенная заново прога не сумеет сразу зарегистрироваться на SIP сервере (если сервер не получил UnRegister и контролирует число регистраций). Но извите, если не бухать сразу, то все эти енд-пойнты будут грамотно закрываться секунд 5, и в 99% случаев мне от этого не жарко не холодно ну и т.д. Просто если пытаться "контролировать" все и вся и сильно умничать, то можно такое навернуть, что оно потом будет ошибаться больше и чаще чем более менее простой оригинал, и уже фиг вообще чего поймешь в этом в случае ошибок. Такие проекты лучше сразу писать "без ошибок", чем пытаться контролировать надуманные ошибки вероятность которых весьма сомнительна. Скорее погоришь на своем "развернутом контролировании". Но вот ответ на вопрос: 2) Где гарантия что я не прочту 2 сообщения разом? Или что не прочту "кусок", а второй "кусок" будет прочитан в следующий раз? -его да, лучше знать. Тесты типа того что предложил Dima T - ну вроде как показывают что "не пересекаются". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2014, 16:35 |
|
||
|
Как сделать так чтоб сообщения из mailslot читались "сразу как оно там появится"?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Изопропил, Dima T Спасибо за участие. Но вы вот сейчас начинаете копать архитектуру проекта и давать общие советы. Не хочешь - не обращай внимания, по существу уже все сказано. Дмитрий77Но вот ответ на вопрос: 2) Где гарантия что я не прочту 2 сообщения разом? Или что не прочту "кусок", а второй "кусок" будет прочитан в следующий раз? -его да, лучше знать. Тесты типа того что предложил Dima T - ну вроде как показывают что "не пересекаются". Тут гарантированно тебе может ответить только разработчик, т.е. MS. А они в MSDN не пишут явно что "не пересекаются". Я почитал что про маилслоты там пишут (сам подумываю их попользовать) нет такого. Может просто забыли написать, может я невнимательно читал. Максимум что можешь: потестить дополнительно на разных виндовсах и решить для себя что "не пересекаются", тем более (как я понял) зашита от потерь у тебя есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2014, 18:56 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38600536&tid=2019581]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 154ms |

| 0 / 0 |
