|
|
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Доброе время суток. Помогите решить следующую проблему: через сокет сервер в потоке ввода получает поток байтов от клиента , среди которых могут быть как команды так и контент. Есть ли возможность открыть два потока ввода-вывода, чтобы разграничить поток с командами от потока с контентом? Или, подскажите любой другой выход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 00:50 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Lemkoleg, посмотри как организована работа websocket. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 06:41 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegИли, подскажите любой другой выходГоловой думать. Натурально. Если есть "поток, в котором команды перемешаны с данными", значит существует протокол, который отвечает за формирование этого потока. Изучаем протокол, делаем разбор и получаем два отдельных потока. P.S. Да, это программист нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 10:01 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
вадяLemkoleg, посмотри как организована работа websocket. Я знаю, как она организована. Думал, может чего-то не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 10:41 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkolegИли, подскажите любой другой выходГоловой думать. Натурально. Если есть "поток, в котором команды перемешаны с данными", значит существует протокол, который отвечает за формирование этого потока. Изучаем протокол, делаем разбор и получаем два отдельных потока. P.S. Да, это программист нужен. "Программист" , в первую очередь, должен знать преимущества и недастатки протоколов. И потом выбырать наиболее подходящий. "Программист" не пытается насмехатся на попытки решить задачу, не зная цели задачи. А хороший программист уверен, что знает не все. Как и все остальные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 10:44 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Возможно, есть возможность открыть еще один сокет по даному подключению, не прибегая к помощи ServerSocket ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 10:51 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Lemkoleg"Программист" , в первую очередь, должен знать преимущества и недастатки протоколов. И потом выбырать наиболее подходящий. "Программист" не пытается насмехатся на попытки решить задачу, не зная цели задачи. А хороший программист уверен, что знает не все. Как и все остальныеОчень поэтично. Мне, вероятно, следовало бы пристыженно умолкнуть, но я продолжу стебаться. Даже "программист" должен знать, что лутц частями не продаётся, а поток не делится на два без разбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 12:17 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkoleg"Программист" , в первую очередь, должен знать преимущества и недастатки протоколов. И потом выбырать наиболее подходящий. "Программист" не пытается насмехатся на попытки решить задачу, не зная цели задачи. А хороший программист уверен, что знает не все. Как и все остальныеОчень поэтично. Мне, вероятно, следовало бы пристыженно умолкнуть, но я продолжу стебаться. Даже "программист" должен знать, что лутц частями не продаётся, а поток не делится на два без разбора. Кто-то здесь говорил о "делении потока"? С себя стебаешся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 12:44 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkoleg"Программист" , в первую очередь, должен знать преимущества и недастатки протоколов. И потом выбырать наиболее подходящий. "Программист" не пытается насмехатся на попытки решить задачу, не зная цели задачи. А хороший программист уверен, что знает не все. Как и все остальныеОчень поэтично. Мне, вероятно, следовало бы пристыженно умолкнуть, но я продолжу стебаться. Даже "программист" должен знать, что лутц частями не продаётся, а поток не делится на два без разбора. Как правило, слишком самоувереный программист - недопрограммист. Т.к. в развиватии и расматении иных способов решения задачи он не видит смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 12:46 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegКто-то здесь говорил о "делении потока"?Допустим, что вы создали два потока ввода-вывода из одного сокета. Каким образом в первом потоке окажутся "только команды", а во втором "только данные"? P.S. Нет, именно вы делаете мне смешно: "Ну, допустим, что ты пробил головой стену. Что станешь делать в соседней камере?". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 12:48 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegТ.к. в развиватии и расматении иных способов решения задачи он не видит смысла."Хороший архитектор предложит клиенту десяток вариантов цветового оформление интерьера, но не станет обсуждать расположение унитаза. Унитаз должен быть возле слива и здесь нет предмета для обсуждения". Ну или хочется увидеть этот самый предмет обсуждения - лично я знаю разные варианты структурированных потоков и они сильно разные по устройству и способам разбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:13 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkolegКто-то здесь говорил о "делении потока"?Допустим, что вы создали два потока ввода-вывода из одного сокета. Каким образом в первом потоке окажутся "только команды", а во втором "только данные"? P.S. Нет, именно вы делаете мне смешно: "Ну, допустим, что ты пробил головой стену. Что станешь делать в соседней камере?". Возможно, это будут два разных объекта.... (например channel и inputstream). Я не знаю, по-этому и спрашиваю, есть ли такая возможность. Если нет, то, возможно, есть возможность открыть для хостов отдельное соединение на других портах, не прибегая к ServerSocket? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:16 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegВозможно, это будут два разных объекта.... (например channel и inputstream). Я не знаю, по-этому и спрашиваю, есть ли такая возможность.Каналы Java SE - унифицированный интерфейс неблокирующего ввода-вывода, а не то, что вы думаете.Если нет, то, возможно, есть возможность открыть для хостов отдельное соединение на других портах, не прибегая к ServerSocket?Читайте описание TFTP и FTP. Можно и без всяких описаний. По-прежнему непонятна одна простая вещь: если "клиент отправляет поток, содержащий команды и данные", то протокол формирования такого потока уже существует и всё, что требуется - разбор потока данных этого протокола. В каком месте существование двух потоков (конечная и спорная цель) поможет решению исходной задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:25 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПо-прежнему непонятна одна простая вещь: если "клиент отправляет поток, содержащий команды и данные", то протокол формирования такого потока уже существует и всё, что требуется - разбор потока данных этого протокола.+100500 добавлю - как соотнести к каким данным будут относится команды? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:42 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
[quot]Каналы Java SE - унифицированный интерфейс неблокирующего ввода-вывода, а не то, что вы думаете.[.quot ]. Я не говорил, что я о них думаю. Я навел пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:43 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Потому что, отдельный поток - это круто. решает многие проблемы, связаны с стандартными протоколами. И у http и у ftp есть недостатки, влияющие на многое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 13:50 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegЯ не говорил, что я о них думаю. Я навел пример.Привести пример, никак не связанный с обсуждаемой тематикой - один из приёмов демагогии. "Скользкой дорогой идёте, товарищ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 15:29 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegПотому что, отдельный поток - это круто. решает многие проблемы, связаны с стандартными протоколами. И у http и у ftp есть недостатки, влияющие на многоеДа простят меня женщины, но сейчас мы видим образцовый пример их логики, воспетой в произведениях многих сатириков и юмористов. Какие, к ...ням собачьим, проблемы вы собрались решить отдельными потоками? Вместо того, чтобы разобрать исходные данные, вы хотите, чтобы дух святой отделил вам агнцов от козлищ? Допустим, господь явил свою милость ... Как вы будете синхронизировать между собой отдельные потоки? Как вы будете отделять одну команду от другой в потоке команд? Как вы будете отделять один набор данных от другого набора данных? Как вы будете определять какой команде принадлежит тот или иной набор данных? P.S. Пример недостатков http и ftp можно, кстати. Желательно не в исполнении Рабиновича. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 15:36 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkolegПотому что, отдельный поток - это круто. решает многие проблемы, связаны с стандартными протоколами. И у http и у ftp есть недостатки, влияющие на многоеДа простят меня женщины, но сейчас мы видим образцовый пример их логики, воспетой в произведениях многих сатириков и юмористов. Какие, к ...ням собачьим, проблемы вы собрались решить отдельными потоками? Вместо того, чтобы разобрать исходные данные, вы хотите, чтобы дух святой отделил вам агнцов от козлищ? Допустим, господь явил свою милость ... Как вы будете синхронизировать между собой отдельные потоки? Как вы будете отделять одну команду от другой в потоке команд? Как вы будете отделять один набор данных от другого набора данных? Как вы будете определять какой команде принадлежит тот или иной набор данных? P.S. Пример недостатков http и ftp можно, кстати. Желательно не в исполнении Рабиновича. Я не собираюсь проводить лекцию "гуру" программирования. Воспитывайте в себе сдержанность не навязывать свои мысли другим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 16:08 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegЯ не собираюсь проводить лекцию "гуру" программирования. Воспитывайте в себе сдержанность не навязывать свои мысли другим."Это свободная страна". И даже про форум нельзя сказать: "Ну а это - несвободный магазин". Проблема в том, что вы изложили какую-то вашу идею так, что её сложно понять и ещё сложнее назвать адекватной. Теперь вы встаёте в третью позицию оскорблённой институтки вместо того, чтобы хоть как-то перейти к конструктивному обсуждению. Может быть я, действительно, непроходимо туп (вообще или только сегодня) и до сих пор просто не оценил вашу идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 16:44 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegВоспитывайте в себе сдержанностьИ, кстати, по поводу сдержанности ... Есть такой в "классическом" нетикете такой грех, как "избыточное цитирование". Если человек не потрудился оставить значимую часть сообщения, то, весьма вероятно, что он поленится сделать ещё что-нибудь. Например, попытаться понять - почему, собственно, на него ополчились не очень знакомые люди, с которыми он никак не ссорился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 16:47 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkolegВоспитывайте в себе сдержанностьИ, кстати, по поводу сдержанности ... Есть такой в "классическом" нетикете такой грех, как "избыточное цитирование". Если человек не потрудился оставить значимую часть сообщения, то, весьма вероятно, что он поленится сделать ещё что-нибудь. Например, попытаться понять - почему, собственно, на него ополчились не очень знакомые люди, с которыми он никак не ссорился. Почему "ополченные люди" априори откидывают причину в себе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:14 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegПочему "ополченные люди" априори откидывают причину в себе?Формулировки, которые выглядят грубыми - экономят массу времени. Неприятно, но - факт. P.S. Вы так и не желаете перейти к более детальным объяснениям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:17 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLemkolegЯ не собираюсь проводить лекцию "гуру" программирования. Воспитывайте в себе сдержанность не навязывать свои мысли другим."Это свободная страна". И даже про форум нельзя сказать: "Ну а это - несвободный магазин". Проблема в том, что вы изложили какую-то вашу идею так, что её сложно понять и ещё сложнее назвать адекватной. Теперь вы встаёте в третью позицию оскорблённой институтки вместо того, чтобы хоть как-то перейти к конструктивному обсуждению. Может быть я, действительно, непроходимо туп (вообще или только сегодня) и до сих пор просто не оценил вашу идею. Если открыть дополнительный поток данных в сокете невозможно, и решить проблему с открытием нового сокета с этим же хостом - нельзя, то что еще обсуждать? Недостатки и преимущества протоколов? Я их знаю. Обсуждать, почему мне они не подходят - для этого нужно выложить все тонкости проекта. У меня нет на это времени... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:18 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#18+
LemkolegЕсли открыть дополнительный поток данных в сокете невозможно, и решить проблему с открытием нового сокета с этим же хостом - нельзя, то что еще обсуждать?я советовал обратить внимание на websocket. там можно открывать множество коннектов с одного клиента но вопрос не в количестве коннектов у тебя данные и команды как-то связаны между собой? у тебя передающая сторона каким образом формирует поток из данных и команд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 17:30 |
|
||
|
Несколько потоков ввода-вывода на сокете
|
|||
|---|---|---|---|
|
#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?all=1&fid=59&tid=2122073]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 278ms |

| 0 / 0 |

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