Сеть Java / [закрытое] учебное руководство по программированию Сокета

7
задан Mestika 23 February 2010 в 08:20
поделиться

5 ответов

Я читал только версию этой книги на языке C, но, вероятно, версия Java будет столь же короткой и хорошей: TCP / IP Sockets в Java от Calvert и Donahoo: Практическое руководство для программистов . Даже если вы изучили программирование сокетов на C, вы, вероятно, могли бы довольно быстро адаптироваться к реализации Java.

alt text

3
ответ дан 6 December 2019 в 19:36
поделиться

Вот хороший пример главы из Java Network Programing . Также доступны некоторые другие части здесь , а также доступны образцы исходников .

Если вы решите купить эту книгу, я бы сказал, что этих глав на данный момент достаточно:

  • Глава 2. Основные концепции сети
  • Глава 3. Основные концепции Интернета
  • Глава 4. Java I / O
  • Глава 5. Потоки
  • Глава 6. Поиск интернет-адресов
  • Глава 7. URI и URL-адреса
  • Глава 9. Сокеты для клиентов
  • Глава 10. Сокеты для серверов

Дон пока не беспокоюсь о НИО; это довольно продвинуто.

Кроме того, я не знаю, смешиваю ли я что-то сейчас, но, насколько я понимаю , можно ли применить парадигму многопоточности к {{1} } программирование сети / сокета.

Да, действительно, это очень важный аспект. Вы поймете почему, прочитав образец главы .

Удачи!

4
ответ дан 6 December 2019 в 19:36
поделиться

Я думал об этом ДАВНО и после того, как попытался поставить проверку как в контроллерах, так и в моделях.... Наконец я пришел к выводу, что для многих моих заявок... проверка принадлежит модели, а не контроллеру. Почему? Потому что та же модель может в будущем использоваться различными другими вызовами контроллера или API... и тогда мне придется повторять процесс проверки снова и снова. Это нарушит DRY и приведет к множеству ошибок. Плюс философски его модель, которая взаимодействует с базой данных (или другим постоянным местом хранения) и, таким образом, является своего рода «последним призывом к алкоголю» место, чтобы сделать это в любом случае.

Поэтому я выполняю перевод в контроллере, а затем отправляю необработанные данные в модель для проверки и обработки. Конечно, я часто делаю php/mysql веб приложений и если вы делаете другие вещи результаты могут варьироваться. Надеюсь, это кому-то поможет.

-121--1628873-

Я бы не рекомендовал использовать его. Вы никогда не знаете, станет ли ваш интерфейс одним днем абстрактных классов. Тогда вам придется переименовать каждое использование или просто придерживаться уродливого названного абстрактного класса с префиксом.

(Источник: Robert C. Martin - Agile Software Development: Principles, Patterns and Practices)

-121--2758814-

Основные шаги, которые можно не читать в этом руководстве Программирование сокетов на Java . В этой модели большинство людей использовали один поток для обработки одного сетевого соединения.

В Java 1.4 NIO был представлен, это делает интро немного сложнее: Руководство по Java NIO .

NIO позволяет использовать селектор, который позволяет обрабатывать множество соединений в одном потоке, что приводит к повышению производительности.

2
ответ дан 6 December 2019 в 19:36
поделиться

Универсальной книги для такого рода обучения не существует. Лучше всего начать с собственного руководства Java по сокетам / потокам и т. Д. здесь .

Столкнувшись с проблемами, как только вы начнете реализацию, вы начнете учиться, желательно снова посетив SO и задав кучу конкретных вопросов по коду.

2
ответ дан 6 December 2019 в 19:36
поделиться

исходя из моего опыта и, на мой взгляд, когда вы хотите изучить программирование сокетов на уровне абстракции, обеспечиваемой Java Network API, и для любого языка для этого важно, вы также должны быть знакомы с вводом-выводом и потоками. есть много учебных пособий, я предлагаю вам взять книгу. просто мысль!

2
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: