Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Самопальные пакеты. 
:(
    Опции темы
ShurikA
Дата 8.11.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



На сколько мне известно классы Socket, ServerSocket работают через TCP.
Соответственно по пакетам дата делится автоматический.
Каким образом можно общаться своими пакетами?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
kkorsakoff
Дата 8.11.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 14



"Сырых" сокетов в Java нет, то есть никак. Немного непонятна цель, для которой это может понадобиться. Изучение на практике семейства TCP/IP или что? А так через JNI. Но если не ошибаюсь, в одной из двух библиотек с одинаковым именем jpcap smile  помимо захвата сетевых пакетов, есть функциональность отправки. Но не уверен, поищи.
PM MAIL WWW ICQ   Вверх
COVD
Дата 8.11.2006, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

Каким образом можно общаться своими пакетами?


Вы о чем? 

Пакет tcp состоит из фиксированной длины заголовка и данных. Отправлять данные рамером в один байт невыгодно. Очень длинные данные отослать в одном пакете невозможно. Максимальный размер пакета лежит в пределах 0.5 - 1.5 кб . Поэтому передающий сокет и оптимизирует пакеты, обьединяя короткие сообщения и  расщепляет длинные. 

Если не устраивает tcp, то можно применить udp сокет. Тоже стандартный заголовок + данные. И никакой "автоматики".

Это сообщение отредактировал(а) COVD - 8.11.2006, 17:47
PM MAIL   Вверх
ShurikA
Дата 8.11.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



kkorsakoff, COVD, 
Дело в том что если я хочу содать свой протокол то я не хочу его сожать на ещё один...

Добавлено @ 18:01 
COVD, При это сами покеты я могу сам гобирать или он всё равно это воспримит как обычную информацию?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
COVD
Дата 8.11.2006, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Вы можете создать свой протокол общения, понятный только вашему приложению. Но чтобы этот протокол работал в интернете, он должен базироваться на одном из стандартных протоколов. Так , tcp является надстройкой над udp. 

Вы можете взять за основу udp, который определяет формат отсылаемого пакета. Формат пакета (наличие заголовка, требуемые поля, максимальный размер) вы не можете изменить - тогда пакеты в интернете не будут распознаваться и не будут доходить до адресата. А вот сделать свой сценарий работы с пакетом можно. Если вы сделаете так, чтобы приемная сторона подтверждала прием пакета и отправку нового пакета делать только после подтверждения получения предыдущего, то вы реализуете собственную версию tcp\ip.   
PM MAIL   Вверх
ShurikA
Дата 8.11.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



COVD, Спасибо, начну работать smile

Это сообщение отредактировал(а) ShurikA - 8.11.2006, 18:58


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 8.11.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(COVD @  8.11.2006,  18:32 Найти цитируемый пост)
Так , tcp является надстройкой над udp.

TCP не является надстройкой над UDP, это совершенно независимые протоколы. Они оба работают поверх IP (Стек протоколов TCP/IP).

Java не даст вам самим формировать TCP или UDP пакеты, для этого надо работать напрямую с ОС. Да и зачем? Все прикладные протоколы работают поверх TCP и не испытывают при этом никаких затруднений.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Dude03
Дата 8.11.2006, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.4.2006

Репутация: нет
Всего: 6



Цитата(COVD @  8.11.2006,  17:40 Найти цитируемый пост)
Пакет tcp состоит из фиксированной длины заголовка и данных. Отправлять данные рамером в один байт невыгодно. Очень длинные данные отослать в одном пакете невозможно. Максимальный размер пакета лежит в пределах 0.5 - 1.5 кб . Поэтому передающий сокет и оптимизирует пакеты, обьединяя короткие сообщения и  расщепляет длинные. 

Это называется алгоритмом Нагла(накопление пакетов). 
PM MAIL   Вверх
COVD
Дата 9.11.2006, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Где вы оба раньше были smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.2549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.