ОБСУЖДЕНИЕ

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

1 ответов 4,6 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

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

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

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

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

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

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

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