Как запретить открытие программы несколько раз.

SFML и C++ Уроки \ Разработка игр Форумы SFML System, Window и другие вопросы Как запретить открытие программы несколько раз.

В этой теме 2 ответа, 3 участника, последнее обновление Heisenberg Heisenberg 7 года/лет, 11 мес. назад.

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #3680

    Alaz777
    Участник
    Сообщений:19

    Зарегистрирован:
    19.01.2016

    Репутация:18

    Сделал клиент и сервер онлайн игры “Морской бой” (пока на пк только). Всё готово, осталась только одна проблема: клиент программы можно открывать несколько раз на одном компе. Сколько ни гуглил, не нашёл как запретить открытие клиента несколько раз. Буду очень рад помощи.

    #3710
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    Можешь попробовать делать, как делают демоны в linux, а именно: определить в системе под твою программу файл. Как только программа начинает работать считывает из этого файла pid процесса, если такой процесс существует программа закрывается, так как это значит, что уже один экземпляр данной программы работает. Если процесса с таким pid нету или файл пустой, то значит что ни одного экземпляра твоей программы не работает. Записываешь в файл pid текущего процесса и продолжаешь работу программы. Как только программа завершается очищаешь файл.

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

    А вообще не совсем понимаю, зачем тебе это нужно.

    #3713
    Heisenberg
    Heisenberg
    Участник
    Сообщений:320

    Зарегистрирован:
    01.04.2015

    Репутация:146
Просмотр 3 сообщений - с 1 по 3 (из 3 всего)

Для ответа в этой теме необходимо авторизоваться.