2010-02-23 14 views
7

Ich werde ein Projekt in einem Monat in einem Kurs erstellen, den ich habe und zu diesem Zweck möchte ich lesen und versuchen, einige kleine Testprogramme in Bezug auf die Netzwerk/Socket-Programmierung in Java.Java Network/Socket Programmierung Tutorial

Im Idealfall, was ich suche, ist ein Tutorial mit Beschreibung und ein Endprogramm zu schaffen, wo ich zwischen zwei Computern kleine und einfache Textnachrichten senden und wiederbeleben kann. Muss keine GUI oder etwas ähnliches sein, nur die einfache Version.

Ich habe einige Artikel von Suns eigener Homepage und in einem meiner Java Book gelesen, aber ich scheine das letzte Teil des Puzzles zu verpassen, um wirklich "Netzwerkprogrammierung" zu verstehen.

Außerdem weiß ich nicht, ob ich jetzt Dinge mische, aber zu meinem Verständnis kann das Multithreading-Paradigma auch auf die Netzwerk/Socket-Programmierung angewendet werden.

Daher ist meine Frage, ob jemand über ein gutes Tutorial oder Bildungslink für mich weiß, um einen Überblick über dieses Thema zu bekommen. Ich bin Java nicht völlig neu, habe aber keine Erfahrung mit dieser Art von Programmierung.

Dank - Emil

Antwort

2

aus meiner Erfahrung und meiner Meinung nach, wenn Sie Buchse wollen Programmierung auf der Ebene der Abstraktion von dem Java-Netzwerk-API und für jede Sprache für diese Angelegenheit, Sie müssen auch zur Verfügung gestellt lernen vertraut sein mit i/o und Threads. Da draußen gibt es viele Tutorials, ich schlage vor, dass Sie sich ein Buch nehmen. nur ein Gedanke!

2

Für grundlegende Schritte könnten Sie dieses Tutorial Sockets programming in Java lesen. In diesem Modell verwendeten die meisten Personen einen Thread, um eine Netzwerkverbindung zu verwalten.

In Java wurde 1.4 NIO eingeführt, dies macht Intros ein bisschen komplexer: Java NIO Tutorial.

NIO ermöglicht die Verwendung eines Selectors, mit dem Sie viele Verbindungen in einem Thread verarbeiten können, was zu höherer Leistung führt.

2

Es gibt kein universelles Buch für diese Art des Lernens. Am besten beginnen Sie mit einem eigenen Tutorial zu Sockets/Threads usw. here.

Wenn Sie Probleme haben, wenn Sie mit der Implementierung beginnen, werden Sie anfangen zu lernen, vorzugsweise indem Sie SO erneut besuchen und eine Reihe spezifischer Code-Fragen stellen.

4

Hier ist ein schönes Beispiel Kapitel aus Java Network Programing. Es sind auch einige andere Teile verfügbar here, und auch sample sources sind verfügbar.

Wenn Sie dieses Buch kaufen würde entscheiden, würde ich sagen, diese Kapitel genug für jetzt:

  • Kapitel 2. Grund-Konzepte
  • Kapitel 3. Grundlegende Web Konzepte
  • Kapitel 4. Java I/O
  • Kapitel 5. Themen
  • Kapitel 6. Blick nach oben Internet-Adressen
  • Kapitel 7. URIs und URLs
  • Kapitel 9.Sockel für Clients
  • Kapitel 10. Sockets für Server

Sie über NIO nicht stören noch; es ist ziemlich fortgeschritten.

Darüber hinaus habe ich weiß nicht, ob ich Misch Dinge nun aber zu meinem Verständnis kann das Multithreading Paradigma auch auf die Programmierung Netzwerk/Buchse angewandt werden.

Ja, in der Tat ist es ein sehr wichtiger Aspekt. Sie werden herausfinden, warum Sie einmal die sample chapter gelesen haben.

Viel Spaß!

+0

Ich besitze dieses Buch. Es erklärt die verschiedenen Begriffe viel in leicht verständlicher Sprache. Aber da ist auch das Problem, anstatt die benötigten Sachen zu erklären, geht es weiter und hat zu viele unnötige Informationen. Jedes Mal, wenn ich etwas brauchte, nachdem ich das Buch gelesen hatte, endete ich auf der Tutorial-Seite von Java oder woanders, wo die Informationen viel besser und "auf den Punkt" waren. – Milan

0

Wenn Sie eine einfache, unkomplizierte und einfach zu verstehen Vernetzung Einführung wollen, werde ich empfehlen, dass Sie gelesen: Einführung in die Java-Programmierung 9. edtion von Liang Y. Daniel. Kapitel 33 ist Netzwerk und Kapitel 32 ist Multithreading.

Dieses Buch ist sehr gut. fast alles, was ich in Java kenne, habe ich von diesem Buch bekommen. In diesem Buch werden komplexe Ideen sehr leicht verständlich gemacht. Entschuldigung, ich konnte den Link für dich nicht bekommen. Sie können es googeln.