![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
BRE |
![]()
Сообщение
#21
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Что то не понравился мне SingleApplication. Во первых он работает только под Qt 4.4 и выше. Во вторых юзает ШаредМемори. Спрашивается зачем тогда сокеты, а если есть сокеты то зачем ШаредМемори - в общем намудрил не понравилось. Юра выше писал, автор SingleApplication известен, спроси у него для чего используется SharedMemory. Помниться, читал ветку посвященную этому компоненту, там вроде были какие-то косяки с сокетами на Mac'е. |
|
|
flankerr |
![]()
Сообщение
#22
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Повторюсь,если использовать шаредМемори то пропадает всякий смысл в сокетах.
Кстати недостатки описанной мной выше идеи с файлами убераються использованием ШаредМемори |
|
|
Cergey |
![]()
Сообщение
#23
|
Студент ![]() Группа: Участник Сообщений: 62 Регистрация: 18.10.2008 Пользователь №: 395 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Добавлю сюда код с определением запуска через сокеты на WinAPI. Просто что-бы другие(и я) не искали после прочтения темы в гугле это.
HANDLE hnd = CreateMutex(NULL, TRUE, m_pszAppName); if ( GetLastError() == ERROR_ALREADY_EXISTS && WAIT_ABANDONED != WaitForSingleObject(hnd, 1000)) { AfxMessageBox("Application already running. "); return FALSE; } Взято с http://forum.ixbt.com/topic.cgi?id=40:682 Стати для тех кто первый раз видит WinAPI m_pszAppName - unicode строка В QT для быстрого перевода можно использовать QString text = "Lab 2 Server"; // Имя приложения TCHAR* m_pszAppName = (TCHAR *)text.unicode(); // Имя в формате Unicode |
|
|
Litkevich Yuriy |
![]()
Сообщение
#24
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
всё таки это всё какие-то извраты. Лучше использовать отлаженную кросплатформенную библиотеку от самих тролей.
Пока она была не доступна по LGPL, люди делали её аналог, и проверили кучу механизмов которые работали бы всюду. в Том числе и в многопользовательской среде. |
|
|
Cergey |
![]()
Сообщение
#25
|
Студент ![]() Группа: Участник Сообщений: 62 Регистрация: 18.10.2008 Пользователь №: 395 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
"Добавлю сюда код с определением запуска через сокеты на WinAPI"
Перепутал: не сокеты, а мьютексы!!! Litkevich Yuriy, для быстрой сдачи пригодится. |
|
|
SABROG |
![]()
Сообщение
#26
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 8.3.2025, 9:17 |