powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вот это номер! CreatEvent - не работает!
25 сообщений из 52, страница 2 из 3
Вот это номер! CreatEvent - не работает!
    #38896292
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13thУ нас серьёзный продукт. Сертификат - нужен.
Так чё ж вы, такие все из себя сурьёзные, задаёте этот вопрос на форуме вместо того чтобы
обратиться прямо в техподдержку Windows?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896295
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton(Mutex например
мьютекс и шаред мемори - у них те же фокусы с local/global и правами на global
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896303
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо смотреть в смыслы. Если они решают вопрос лицензионной чистоты - то его можно
решать на стороне сервера. Тоесть вести учёт одновременных коннектов и бить по рукам
за превышение лимита.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896317
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилnamed pipe тогда используйте
С именованными трубками засада: серверную сторону свободно могут открыть сразу несколько
процессов. TCP сокеты, про которые я говорил выше, такого не позволят.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896334
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovТак чё ж вы, такие все из себя сурьёзные, задаёте этот вопрос на форуме вместо того чтобы
обратиться прямо в техподдержку Windows?..

Пробовал. Там пц как долго всё. Спасибо что позвонили, ваш звонок очень важен для нас... и так дня на 3, пока первый чеволек хоть чтнб ответит.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896357
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovсерверную сторону свободно могут открыть сразу несколько
процессов
а как же создание с FILE_FLAG_FIRST_PIPE_INSTANCE?
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896495
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще маилслоты есть. Они вроде не должны открываться в нескольких экземплярах.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896502
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЕще маилслоты есть. Они вроде не должны открываться в нескольких экземплярах.
Странная штука. Никогда не использовал.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896628
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

да уж, мутант однозначно
этот на весь домен работать будет
авторThese messages are typically sent over a network to either a specified computer or to all computers in a specified domain. A domain is a group of workstations and servers that share a group name.

автору кажется такое не пойдёт
авторA mailslot is a mechanism for one-way interprocess communications (IPC). Applications can store messages in a mailslot.
опять мелкомягкие чудят, лучше такое не использовать
простенько сокет открыть с доступом только из локалхост и не жужжать
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896650
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)простенько сокет открыть с доступом только из локалхост и не жужжать

А вот это не сработает. На терминальном сервере у каждого терминала свой localhost.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38896681
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovу каждого терминал
winstation официально называется
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898555
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovkealon(Ruslan)простенько сокет открыть с доступом только из локалхост и не жужжать

А вот это не сработает. На терминальном сервере у каждого терминала свой localhost.

ну тогда формально это уже синхронизация нескольких компов и должен быть комп-диспетчер
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что тринадцатый? Придумал как ловить нарушителей лицензий?
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898648
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)mayton,

да уж, мутант однозначно
этот на весь домен работать будет
авторThese messages are typically sent over a network to either a specified computer or to all computers in a specified domain. A domain is a group of workstations and servers that share a group name.
Чего смутило? или гугл-переводчик страшно перевел?
Маилслоты это надстройка над UDP, поэтому можно слать как на конкретный комп, так и широковещательно по всей локалке. Про это написано.
kealon(Ruslan)автору кажется такое не пойдёт
Автору вобще слать ничего не надо. Он проверяет возможность создания именованного event`а как флаг того что программа запущена. Тут тоже самое.
Затестил, работает в терминале W7.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include <windows.h>
#include <stdio.h>

void  main(){
	HANDLE slot = CreateMailslot("\\\\.\\mailslot\\test", 424, 0, (LPSECURITY_ATTRIBUTES) NULL);
	if(slot == INVALID_HANDLE_VALUE) 
	{ 
		printf("CreateMailslot failed. Error %d\n", GetLastError());
	} else {
		printf("Mailslot open\n");
	}
	system("pause");
	CloseHandle(slot);
}
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898650
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как устроена адресация в маилслотах
https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa365147(v=vs.85).aspx ...
lpName [in]

The name of the mailslot. This name must have the following form:

\\.\mailslot\[path]name

The name field must be unique. The name may include multiple levels of pseudo directories separated by backslashes. For example, both \\.\mailslot\example_mailslot_name and \\.\mailslot\abc\def\ghi are valid names.

...

To write a message to a mailslot, a process uses the CreateFile function, specifying the mailslot name by using one of the following formats.
Format Usage
\\.\mailslot\name Retrieves a client handle to a local mailslot.
\\computername\mailslot\name Retrieves a client handle to a remote mailslot.
\\domainname\mailslot\name Retrieves a client handle to all mailslots with the specified name in the specified domain.
\\*\mailslot\name Retrieves a client handle to all mailslots with the specified name in the system's primary domain.

т.е. слушать можно только на своем компе, а отправлять на свой (считай через localhost), на конкретный комп, домен или вообще на все в локалке
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898787
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или я не совсем понял задачу, или не совсем понял почему не рассматривается вариант
WMI запроса к списку процессов на интересующей машине.
Первая попавшаяся статья на тему WMI и процессов .
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898816
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЧего смутило? или гугл-переводчик страшно перевел?
Маилслоты это надстройка над UDP, поэтому можно слать как на конкретный комп, так и широковещательно по всей локалке. Про это написано.

заметь, в одну сторону и негарантировано
ну и нафига, чем напрямую UDP не катит? тож самое тока кода чуть поболе будет и админам проще
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898823
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TМаилслоты это надстройка над UDP
Да щаззз. Эта штука, как и именно ванные трубки - более высокого уровня и может ходить по
любому протоколу. Хотя обычно ходит по TCP.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898899
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovDima TМаилслоты это надстройка над UDP
Да щаззз. Эта штука, как и именно ванные трубки - более высокого уровня и может ходить по
любому протоколу. Хотя обычно ходит по TCP.

Читам:

https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa365130(v=vs.85).aspx The data in a mailslot message can be in any form, but cannot be larger than 424 bytes when sent between computers.
...
Mailslots can broadcast messages
...
To send messages that are larger than 424 bytes between computers, use named pipes or Windows Sockets instead.
https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa365576(v=vs.85).aspx One important consideration is that mailslots broadcast messages using datagrams. A datagram is a small packet of information that the network sends along the wire. Like a radio or television broadcast, a datagram offers no confirmation of receipt; there is no way to guarantee that a datagram has been received.
Ничем UDP не напоминает? Ограниченный размер сообщения, возможность широковешательной рассылки, негарантированая доставка.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38898910
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)ну и нафига, чем напрямую UDP не катит? тож самое тока кода чуть поболе будет и админам проще
Мне например пригодилось , чтобы админов не напрягать открытием портов.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38899408
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tkealon(Ruslan)ну и нафига, чем напрямую UDP не катит? тож самое тока кода чуть поболе будет и админам проще
Мне например пригодилось , чтобы админов не напрягать открытием портов.
т.е. ещё и дыра в безопасности?
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38899424
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Dima Tпропущено...

Мне например пригодилось , чтобы админов не напрягать открытием портов.
т.е. ещё и дыра в безопасности?
Ну в чем дыра-то? Про дыры там напиши, а то все какими-то мифическими дырами пугают, а конкретики никакой. Только сначала почитай, а то там уже много не в тему понаписали.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38899684
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonНу что тринадцатый? Придумал как ловить нарушителей лицензий?
Я не нарушителей лицензий ищу. Но вообще - да, задачу решил. Я ж вверху написал.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #38899692
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ART-CODEИли я не совсем понял задачу, или не совсем понял почему не рассматривается вариант
WMI запроса к списку процессов на интересующей машине.
Первая попавшаяся статья на тему WMI и процессов .
Без админских прав не определяются имена в соседней сессии.
...
Рейтинг: 0 / 0
Вот это номер! CreatEvent - не работает!
    #39114612
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может пригодится кому.
Разбирался с той же проблемой. Объекты с именем Global\ работают из разных сессий, но надо дополнительно давать права доступа.

Копать в сторону параметра LPSECURITY_ATTRIBUTES lpEventAttributes.
На C# работает
Код: c#
1.
2.
3.
4.
5.
            var m_sec = new MutexSecurity();
            m_sec.AddAccessRule(new MutexAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), MutexRights.FullControl, AccessControlType.Allow));

            Boolean is_new = false;
            Mutex mut = new Mutex(false, "Global\\TestMutex", out is_new, m_sec);

...
Рейтинг: 0 / 0
25 сообщений из 52, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вот это номер! CreatEvent - не работает!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]