2008-09-18 6 views
10

Я пытаюсь написать простую сетевую программу чата в Java. У меня почти нет опыта работы в сети. Мне было интересно, какие ресурсы я должен начать смотреть (здесь, конечно, здесь).Java: Лучшее место для начала обучения Основная сеть

На сегодняшний день лучше всего придерживаться основного API Java.

ответ

2

Nio или традиционным способом с ServerSocket или Socket См java.net package

Nio документы here.

+0

Для знания оригинального плаката, НИО поддерживает не блокирующие IO, в то время как традиционная форма не , Блокировка ввода-вывода однопоточная; неблокирование многопоточно. Если вы передаете файлы через чат-клиент и все еще хотите, чтобы пользователи могли набирать NIO. – 2009-12-10 18:54:42

1

Java API Sun и official tutorials, вероятно, являются лучшим местом для того, чтобы ваши ноги были мокрыми.

1

Это гораздо более прямой что вы думаете. Честно говоря, я просто начал просматривать javadocs для пакета nio. Они также должны содержать мини-учебники и исходный код.

Помимо этого, java.sun.com должен быть усеян учебниками.

Если вы не понимаете разъемы --- хорошо, я могу отправить вам ссылку, но проще сказать вам - сокеты - это способ, которым 2 программы разговаривают друг с другом. Это просто уникальный номер, который (в сочетании с вашим IP-адресом) дает вам уникальный путь к программе. Поэтому, если я «прослушиваю» порт (сокет) 1000, тогда другая программа подключается к порту 1000, все, что посылает программа подключения, получает программа прослушивания.

Используйте высокий номер порта (более 5000, например 5000), потому что есть много программ, которые назначают свой собственный порт.

Вот как общается все на вашем компьютере.

Возможно, вы захотите прочитать очень краткое введение в сокет-связь, если API все еще запутывает.

3

Я рекомендую вам сначала изучить сетевое взаимодействие. Если у вас есть время, прочитайте Tanenbaum book, самую большую ссылку в сети.Если вы хотите быстро leard, вот дорожная карта:

  • слои OSI
  • UDP и TCP/IP
  • Розетки
  • Broadcast и Multicast
  • Сетевая безопасность

Затем перейдите к Java: Socket, ServerSocket, DatagramSocket, RMI и т. Д.

Смежные вопросы