• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как поставить клинтов в очередь

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

И сразу же возникает вопрос, если будет клиентов больше чем 1 и если они одновременр начнут
передавать данные, то как сделать так что данные не смешивались.

Как сделать так чтобы сервер не принимал сообщение однрвременр с двух клинтовских машин.
А только послетого как первая машина закончит передачу данных.

Помогите пожалуйста!
 
V

vital

По порядку..
1.
И сразу же возникает вопрос, если будет клиентов больше чем 1 и если они одновременр начнут
передавать данные, то как сделать так что данные не смешивались.

За это отвечает сам ServerSocket. А ты можешь обращаться к каждому клиенту отдельно через спец.свойство. Блин, не помню уже какое точно.. А из линуха возможности посмотреть нет. Вобщем там что-то в духе - Servsock.connections[номер нужного тебе соединения].что там тебе дальше нужно. RTFM Вобщем.
Т.е. Тебе при подключении нового клиента(есть событие такое OnClientConnected(или что-то в таком духе:))
нужно запоминать его номер. А потом просто обращаться как (примерно) написано выше.

2.
Как сделать так чтобы сервер не принимал сообщение однрвременр с двух клинтовских машин.
А только послетого как первая машина закончит передачу данных.

Исходя из первого ты понимаешь что это нафиг надо? Хотя, такое конечно можно реализовать. Примерно - при подключении нового клиента проверяешь есть ли у тебя другие активные соединения. Там (опять же не помню уже точно) свойство типа clientcount. Проверяешь его значение - если больше одного значит есть шлешь клиенту сообщение wait, иначе шлешь что-то другое(ready напр.). Клиент проверяет это сообщение и если это ready то послылает какие там нужно данные, если это wait то отключается и пробует через некоторое время. Если же нужна именно ОЧЕРЕДЬ т.е. обработка клиентов именно в том порядке в котором они подключаются, то там ещё веселее.. Сходу уже не скажу.

ЗЫ.
Сори за такой расплывчатый хелп. Но, думаю, теория ясна. А на практике авсоь сам сообразишь.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!