[Ответить в тред] Ответить в тред

09/07/16 - Новое API для капчи - внимание разработчикам приложений
03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 19 | 2 | 9
Назад Вниз Каталог Обновить

Аноним 10/07/16 Вск 12:58:16  131486200  
14681446968360.png (13Кб, 400x400)
Сап, рачной! Реквестинг хелп.

Ява-кун, подскажи. Нужно передавать от сервера клиенту разные данные, пока что это текст и хэшмэпы. Как мне поступить: делать отдельные потоки? А может, сделать разные сокеты? Или пустить всё одним потоком, который отправляет/принимает byte[], а прога сама разберётся?

С меня - как всегда.
Аноним 10/07/16 Вск 12:59:23  131486267
Бугорок
Аноним 10/07/16 Вск 13:01:23  131486384
>>131486200 (OP)
Чем плохи отдельные потоки?
Аноним 10/07/16 Вск 13:18:41  131487397
>>131486384
Не знаю, потому и спрашиваю. Цеплять их на один сокет, али как?
Аноним 10/07/16 Вск 13:21:44  131487570
>>131486200 (OP)
>Ява
Сагану безграмотного петуха.
Аноним 10/07/16 Вск 13:23:22  131487657
>>131486200 (OP)
Минимум сложности в коде (я б сделал 1 поток 1 сокет), если нет особой нагруженности.
Аноним 10/07/16 Вск 13:26:08  131487807
>>131487657
Нагруженности нет. Приложения не будут путаться в данных? Ну, что идут то строка, то хэшмэп.
Аноним 10/07/16 Вск 13:29:40  131487992
>>131487807
>Приложения не будут путаться в данных?
Это от тебя же зависит. А что ты пишешь?
Аноним 10/07/16 Вск 13:34:07  131488203
>>131486200 (OP)
У тебя много клиентов и один сервер. Пусть сервер имеет один серверный сокет. В коде сервера, ты должен ждать сокеты клиентов и запускать их обработку в отдельном потоке. Каждый такой поток будет работать со своим клиентским сокетом. Там можешь с ним делать что хочешь? Из клиентского сокета ты можешь получить input/output stream и отсылать/принимать пакеты. Более того, есть специальный Object stream, где ты можешь спокойно передавать жава объекты. На стороне клиента ты отправляешь ты соединяешься с серверным сокетом, зная порт и айпи сервера.
Аноним 10/07/16 Вск 13:35:27  131488259
>>131488203
много опечаток ну и хуй с ним. забей на мой пост.
Аноним 10/07/16 Вск 13:37:09  131488340
>>131487992
Серверная прога будет на малине. Она должна получать запрос от клиента (строка) и реагировать на него, отправляя в ответ либо строку, либо показания датчиков в виде хэшмэпа.
Аноним 10/07/16 Вск 13:37:49  131488363
>>131486200 (OP)
Почему не взять готовое решение, какие-нибудь сетевые либы?
Аноним 10/07/16 Вск 13:37:55  131488376
Наворачиваешь на сервер простой рест и передаешь жсон в хттп запросах.
Аноним 10/07/16 Вск 13:41:12  131488549
>>131486200 (OP)
Пишешь вручную? Зря. Воспользуйся томкатом или Jersey.
А если пишешь вручную, то используй тредпул.
Если надо передавать сложные структуры - делай это через JSON.
Аноним 10/07/16 Вск 13:43:58  131488714
>>131488549
>JSON
Поясни о jsonомудрец, чем это решение лучше встроенного бинарного формата?
Аноним 10/07/16 Вск 13:44:38  131488750
>>131488714
Например тем, что есть куча либ, которые с ним работают и не надо писать собственный сериализатор.
Аноним 10/07/16 Вск 13:45:11  131488771
>>131488714
Потому что его легче обрабатывать, не?
Аноним 10/07/16 Вск 13:53:12  131489176
14681479925450.webm webm file (4489Кб, 640x360, 00:03:22)
>>131486200 (OP)
Что за дауны собрались. Делаешь флаг, скажем
private final int TEXT = 0;
private final int HASHMAP = 1;

Вставляешь этот флаг в начале сообщения, сервер читает первый байт во входящем сообщении, если там 0, то извлекает данные из байтов как текст, иначе - HASHMAP. Можешь даже какой нибудь паттерн, типа команды организовать
Аноним 10/07/16 Вск 14:08:46  131489999
>>131489176
О, это мне подойдёт. Большое спасибо.

Всякие сторонние либы использовать, увы не могу, т.к. нет времени разбираться, что к чему.
Аноним 10/07/16 Вск 14:58:09  131492936
А что за проектик то?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 19 | 2 | 9
Назад Вверх Каталог Обновить

Топ тредов