Сап, рачной! Реквестинг хелп.Ява-кун, подскажи. Нужно передавать от сервера клиенту разные данные, пока что это текст и хэшмэпы. Как мне поступить: делать отдельные потоки? А может, сделать разные сокеты? Или пустить всё одним потоком, который отправляет/принимает byte[], а прога сама разберётся?С меня - как всегда.
Бугорок
>>131486200 (OP)Чем плохи отдельные потоки?
>>131486384Не знаю, потому и спрашиваю. Цеплять их на один сокет, али как?
>>131486200 (OP)>ЯваСагану безграмотного петуха.
>>131486200 (OP)Минимум сложности в коде (я б сделал 1 поток 1 сокет), если нет особой нагруженности.
>>131487657Нагруженности нет. Приложения не будут путаться в данных? Ну, что идут то строка, то хэшмэп.
>>131487807>Приложения не будут путаться в данных?Это от тебя же зависит. А что ты пишешь?
>>131486200 (OP)У тебя много клиентов и один сервер. Пусть сервер имеет один серверный сокет. В коде сервера, ты должен ждать сокеты клиентов и запускать их обработку в отдельном потоке. Каждый такой поток будет работать со своим клиентским сокетом. Там можешь с ним делать что хочешь? Из клиентского сокета ты можешь получить input/output stream и отсылать/принимать пакеты. Более того, есть специальный Object stream, где ты можешь спокойно передавать жава объекты. На стороне клиента ты отправляешь ты соединяешься с серверным сокетом, зная порт и айпи сервера.
>>131488203много опечаток ну и хуй с ним. забей на мой пост.
>>131487992Серверная прога будет на малине. Она должна получать запрос от клиента (строка) и реагировать на него, отправляя в ответ либо строку, либо показания датчиков в виде хэшмэпа.
>>131486200 (OP)Почему не взять готовое решение, какие-нибудь сетевые либы?
Наворачиваешь на сервер простой рест и передаешь жсон в хттп запросах.
>>131486200 (OP)Пишешь вручную? Зря. Воспользуйся томкатом или Jersey.А если пишешь вручную, то используй тредпул.Если надо передавать сложные структуры - делай это через JSON.
>>131488549>JSONПоясни о jsonомудрец, чем это решение лучше встроенного бинарного формата?
>>131488714Например тем, что есть куча либ, которые с ним работают и не надо писать собственный сериализатор.
>>131488714Потому что его легче обрабатывать, не?
>>131486200 (OP)Что за дауны собрались. Делаешь флаг, скажемprivate final int TEXT = 0;private final int HASHMAP = 1;Вставляешь этот флаг в начале сообщения, сервер читает первый байт во входящем сообщении, если там 0, то извлекает данные из байтов как текст, иначе - HASHMAP. Можешь даже какой нибудь паттерн, типа команды организовать
>>131489176О, это мне подойдёт. Большое спасибо.Всякие сторонние либы использовать, увы не могу, т.к. нет времени разбираться, что к чему.
А что за проектик то?