|
|
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegЕсли открыть дополнительный поток данных в сокете невозможно, и решить проблему с открытием нового сокета с этим же хостом - нельзя, то что еще обсуждать?Например - ваши заблуждения: вы дважды ошибаетесь. Создать ещё один поток ввода-вывода не решает никаких проблем, но зато создаёт новые. Создать ещё одно подключение - возможно, но это, опять-таки, создаёт новый протокол.Недостатки и преимущества протоколов? Я их знаю."Меня опять терзают смутные сомнения", ну да бог с ним ...нужно выложить все тонкости проекта. У меня нет на это времени...Таким образом, вы не считаете нужным создать минимальный пример, из которого будет понятна и решаемая проблема и недостатки имеющихся вариантов, но, почему-то, считаете, что у окружающих есть масса времени, чтобы протелепатировать недостающие подробности??? "И эти люди запрещают мне ковыряться в носу?!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:35 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Создать ещё одно подключение - возможно, но это, опять-таки, создаёт новый протокол. Этого вполне достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:36 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegЭтого вполне достаточноКак-то, э-э-э, разочаровывающе - длительное обсуждение вообще не требовалось. Достаточно было заглянуть в доку, если уж вы подзабыли Java SE API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:41 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkolegЭтого вполне достаточноКак-то, э-э-э, разочаровывающе - длительное обсуждение вообще не требовалось. Достаточно было заглянуть в доку, если уж вы подзабыли Java SE API. Универсальный ответ....Все! сворачивайте форум! В доках все и так есть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:53 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Гуру - это тот, кто на любой вопрос отвечает RTFM ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:54 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Технически это называется туннель протокола. И под java наверное что то есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 20:34 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
В каком месте "эта хрень" стала "туннелем протокола"? Может быть, "туннелированием"? Хотя всё равно непонятно - при чём тут туннелирование? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 21:01 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Ну, вы даёте. Развели демагогию на ровном месте. Мултиплексирование на TCP стандартно же делается. Открывается второй клиентский порт к тому же сервероному порту. Вот и всё. С точки зрения Java это как ещё одно соединение. Хотя физически оно будет то же самое. Сервер различает двух клиентов с одного хоста по номеру клиентского порта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 06:27 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, вы даёте. Развели демагогию на ровном месте. Мултиплексирование на TCP стандартно же делается. Открывается второй клиентский порт к тому же сервероному порту. Вот и всё. С точки зрения Java это как ещё одно соединение. Хотя физически оно будет то же самое. Сервер различает двух клиентов с одного хоста по номеру клиентского порта.как будут отделяться команды друг от друга? как различить данные? по паузе? спецсимволы? если есть нечто подобное - то так же это можно сделать и в одном коннекте. я советовал изучить ws, там всё разжёвано. описано по байтикам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 06:54 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
вадяBlazkowiczНу, вы даёте. Развели демагогию на ровном месте. Мултиплексирование на TCP стандартно же делается. Открывается второй клиентский порт к тому же сервероному порту. Вот и всё. С точки зрения Java это как ещё одно соединение. Хотя физически оно будет то же самое. Сервер различает двух клиентов с одного хоста по номеру клиентского порта.как будут отделяться команды друг от друга? как различить данные? по паузе? спецсимволы? если есть нечто подобное - то так же это можно сделать и в одном коннекте. я советовал изучить ws, там всё разжёвано. описано по байтикам. Ни слова не понял, но уже лезешь со своими веб сокетами? Кто сказал что у автора темы web server и браузерное приложение? Зачем какие-то новые технологии приплетать к проекту, если стандартные сокеты умеют мультиплексирование и без этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 07:04 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
BlazkowiczС точки зрения Java это как ещё одно соединение. Хотя физически оно будет то же самое.Физически тоже будет два соединения: именно IP-стек различает UDP-/TCP-сокеты по четвёрке "IP/Port клиента/сервера". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 07:07 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяпропущено... как будут отделяться команды друг от друга? как различить данные? по паузе? спецсимволы? если есть нечто подобное - то так же это можно сделать и в одном коннекте. я советовал изучить ws, там всё разжёвано. описано по байтикам. Ни слова не понял, но уже лезешь со своими веб сокетами? Кто сказал что у автора темы web server и браузерное приложение? Зачем какие-то новые технологии приплетать к проекту, если стандартные сокеты умеют мультиплексирование и без этого? а кто тебе сказал, что ws только для браузера и сервера? я не заставляю использовать ws, прото там все проблемы тс решены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 07:28 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, вы даёте. Развели демагогию на ровном месте. Мултиплексирование на TCP стандартно же делается. Открывается второй клиентский порт к тому же сервероному порту. Вот и всё. С точки зрения Java это как ещё одно соединение. Хотя физически оно будет то же самое. Сервер различает двух клиентов с одного хоста по номеру клиентского порта. Прошу прощения. Я взял неверный маршрут. Давайте вернемся в самое начало. Автор пишет: через сокет сервер в потоке ввода получает поток байтов от клиента , среди которых могут быть как команды так и контент. Есть ли возможность открыть два потока ввода-вывода, чтобы разграничить поток с командами от потока с контентом? Для того чтобы получить два потока ввода вывода мы должны открыть два сокета. И в каждом сокете у нас будет InputStream/OutputStream. Таким образом задача решена. И это решение не на уровне Java а на уровне TCP протокола. Мультиплексирование как процедура уже инкапсулирована и как ее побочный эффект - способность разделить 1 ethernet канал на десятки тысяч маленьких каналов (по портам) а также дополнительно по протоколам (TCP/UDP) если есть необходимость. Я изначально не понял суть вопроса и подумал о каких-либо ограничениях на количество сокетов клиента. Но если таковые ограничения есть - пускай автор о них расскажет. Иначем мы ломимся в открытую дверь и решаем задачи которые уже давно решены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 11:00 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Lemkolegчерез сокет сервер в потоке ввода получает поток байтов от клиента , среди которых могут быть как команды так и контент.поток байтов - как этот поток формируется? ну разделит он на два канала будет поток байтов команд и поток байтов данных. как он планирует поток байтов команд разделить на команды? как он планирует поток байтов данных разделить на конкретные данные? если может их этих потоков выделить и команды и данные - почему нельзя это сделать из одного потока байтов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 11:50 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
maytonBlazkowiczНу, вы даёте. Развели демагогию на ровном месте. Мултиплексирование на TCP стандартно же делается. Открывается второй клиентский порт к тому же сервероному порту. Вот и всё. С точки зрения Java это как ещё одно соединение. Хотя физически оно будет то же самое. Сервер различает двух клиентов с одного хоста по номеру клиентского порта. Прошу прощения. Я взял неверный маршрут. Давайте вернемся в самое начало. Автор пишет: через сокет сервер в потоке ввода получает поток байтов от клиента , среди которых могут быть как команды так и контент. Есть ли возможность открыть два потока ввода-вывода, чтобы разграничить поток с командами от потока с контентом? Для того чтобы получить два потока ввода вывода мы должны открыть два сокета. И в каждом сокете у нас будет InputStream/OutputStream. Таким образом задача решена. И это решение не на уровне Java а на уровне TCP протокола. Мультиплексирование как процедура уже инкапсулирована и как ее побочный эффект - способность разделить 1 ethernet канал на десятки тысяч маленьких каналов (по портам) а также дополнительно по протоколам (TCP/UDP) если есть необходимость. Я изначально не понял суть вопроса и подумал о каких-либо ограничениях на количество сокетов клиента. Но если таковые ограничения есть - пускай автор о них расскажет. Иначем мы ломимся в открытую дверь и решаем задачи которые уже давно решены. Я сейчас попробую что-нибудь найти по мультиплексированию. Возможно, это то что мне нужно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 12:25 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
вадяLemkolegчерез сокет сервер в потоке ввода получает поток байтов от клиента , среди которых могут быть как команды так и контент.поток байтов - как этот поток формируется? ну разделит он на два канала будет поток байтов команд и поток байтов данных. как он планирует поток байтов команд разделить на команды? как он планирует поток байтов данных разделить на конкретные данные? если может их этих потоков выделить и команды и данные - почему нельзя это сделать из одного потока байтов? Это вопрос не касается темы. Но, чтоб уже никого это не мучило, я отвечу: есть много способов это зделать. Например, передавать команды в объектах Java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 12:27 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegНапример, передавать команды в объектах Java Не хочу тебя огорчать, но по сокетам ползут исключительно байты. Никакими объектами там и не пахнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 13:34 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovLemkolegНапример, передавать команды в объектах Java Не хочу тебя огорчать, но по сокетам ползут исключительно байты. Никакими объектами там и не пахнет. )) +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 13:36 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovLemkolegНапример, передавать команды в объектах Java Не хочу тебя огорчать, но по сокетам ползут исключительно байты. Никакими объектами там и не пахнет. Тогда, и я тебя розачерую: есть такое понятие - сериализация. Которая твои байты мгновенно собирает в обьект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 18:32 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Последние посты - контрпродуктивны для топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 18:36 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
maytonПоследние посты - контрпродуктивны для топика. Не могу найти ничего о мультиплексировании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 18:41 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Lemkolegесть такое понятие - сериализация. Которая твои байты мгновенно собирает в обьектдля этого надо поток обработать предварительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2018, 19:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39640739&tid=2122073]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 273ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...