"TCP / IP JAVA-Netzwerkprogrammierung aus den Grundlagen verstanden" Kompiliert mit Eclipse. Debuggen mit Wireshark.

Empfohlen für diejenigen, die JAVA noch nie berührt haben. Nach 20 Jahren ist es immer noch interessant.

TCP / IP Java-Netzwerkprogrammierung aus den Grundlagen, Ohm, Tomohiro Odaka, 1999.8

基礎.png

https://www.amazon.co.jp/dp/4274064867/ Es wird seit dem Jahr der Veröffentlichung der ersten Ausgabe als Lehrmaterial für JAVA-Schulungen verwendet. Die zweite Ausgabe (URL oben) wurde 2002 veröffentlicht. Bevor ich zu diesem Buch komme, gebe ich die Quelle von 20 Büchern (oder das auf der CD) ein und kompiliere und führe es aus. Der Vorteil dieses Buches gegenüber anderen Büchern besteht darin, dass Sie erleben können, wie einfach es ist, das Netzwerk zu betreiben, das die Spezialität von JAVA ist.

1996 habe ich in einem anderen Buch JAVA und Microsoft J ++ von Sunmicrosystems geübt. Seit 1999 übe ich mit J Builder in diesem Buch. Einige von uns haben dieses Buch genommen und dreistellige Übungen absolviert, und jetzt gibt es diejenigen, die an Universitäten und Unternehmen unterrichten.

Dieses Mal werden wir die Java Developer-Tools von Eclipse verwenden.

Verwendung von Wireshark

Grundlegende Kommunikationsregeln wie TCP, IP, UDP, HTTP verstehen. Darüber hinaus empfiehlt es sich, den Vorgang zu überprüfen, während Daten mit einer Software namens Wireshark erfasst werden, die Pakete überwacht.

http://wireshark.org Der Wireshark-Quellcode kann auch in verschiedenen Kommunikationsgeräten verwendet werden. Details am Ende dieses Artikels.

Einführung von Eclipse, Java Developer Tools

Windows https://www.eclipse.org Laden Sie Eclipse von herunter. Nach dem Download Wählen Sie "Eclipse Java Developer Tools" und installieren Sie es zusätzlich. Wenn Sie diese Auswahl nicht treffen, können Sie möglicherweise kompilieren, es wird jedoch möglicherweise ein Ausführungsfehler angezeigt.

Macintosh Einführung in Eclipse in Macintosh OS X (5 Wände) https://qiita.com/kaizen_nagoya/items/b17f03db00aceee41a80

Debian/Ubuntu/Raspbian

apt-get update
apt-get install eclipse

Einführung von 113 Paketen in Raspbian.

JAVA-Programm, Projekt, Paket, Java / Klassenerstellung mit Eclipse

JAVA-Projekt erstellen

java0.png Wählen Sie "Java Project" aus "New" aus dem Menü "File".

java01.png Wenn es sich um 2.2.1 Readnet handelt, geben Sie "Readnet" unter "Projektname" ein. Wenn "Fertig stellen" auswählbar wird, drücken Sie "Fertig stellen".

Wenn "Java Project" nicht angezeigt wird, bedeutet dies, dass die Einführung von "Java Developer Tools" nicht erfolgreich war. Ich werde versuchen, es noch einmal vorzustellen.

Erstellen einer Klassendatei

java02.png

Wählen Sie "Klasse" von "Neu" aus dem Menü "Datei".

java03.png

Geben Sie "readnet" und "Readnet" in "Package:" und "Name:" ein. Wenn "Fertig stellen" auswählbar wird, drücken Sie "Fertig stellen".

Wenn Sie den Paketnamen in Großbuchstaben "Readnet" eingeben, wird die folgende Warnung oben unter "Java-Klasse" angezeigt. 「This package name is discouraged. By convention, package names usually start with a lowercase letter」

Rednet.java


package readnet;

public class Readnet {

}

Stellen Sie sicher, dass der Dateiname und der Klassenname identisch sind. Java nimmt eine Klassendefinition in einer Datei an. Wenn sich Dateiname und Klassenname unterscheiden, tritt daher ein Kompilierungsfehler auf.

Kompilieren, ausführen, debuggen in Eclipse

kompilieren

java1.png Wählen Sie "Run Configurations" aus dem Menü "Run". java22.png

Doppelklicken Sie auf "Java-Anwendung". java32.png Wählen Sie die Registerkarte "(x) = Argumente", geben Sie die erforderlichen Parameter unter "Programmargumente:" ein und drücken Sie "Ausführen".

Zum Beispiel als Verwendung im P88-Programm "2.2 Netzwerkfunktionen in JAVA verfügbar"

//Beispiel JAVA Readnet Kick.fuis.fukui-u.ac.jp 60000

Es ist geworden. Geben Sie hier die Umgebung ein, die Sie verwenden. Wenn beispielsweise 192.168.2.23 eine IP-Adresse ist, können Sie die IP-Adresse direkt eingeben. Auch wenn die Portnummer 60000 lautet, können Sie eine andere verfügbare Nummer verwenden, um mit der anderen Partei umzugehen.

In der Sprache C ist args [0] der Programmname, in JAVA ist args [0] das erste Argument.

java33.png

Sie werden gefragt, ob Sie die Datei speichern möchten. Drücke OK".

java34.png

Laufzeitfehler oder Programmergebnisse werden in der "Konsole" angezeigt.

java35.png Wenn ein Kompilierungsfehler vorliegt, wird dieser im Tag "Probleme" angezeigt.

Kompilierungsfehler

Zuerst tritt ein Kompilierungsfehler 2-3 Mal aufgrund eines Beschreibungsfehlers usw. auf, und ich erinnere mich daran, als ich ihn behoben habe.

java36.png

Es liegt ein Kompilierungsfehler vor. Wenn Sie jedoch fortfahren möchten, wählen Sie "Weiter". Wenn Sie zurückgehen und ihn korrigieren und dann erneut kompilieren möchten, wählen Sie "Abbrechen". java4.png

Der "Paket-Explorer", die Zeilennummer des Quellcodes und die "Gliederung" geben auch den Ort des Kompilierungsfehlers an. Wenn Sie das Tag "Probleme" auswählen, wird eine Liste der Kompilierungsfehler angezeigt. Wenn es mehr als einen Fehler gibt java41.png

Ausführung / Messung mit Wireshark

Wenn das Ausführungsergebnis nicht Ihren Erwartungen entspricht, Starten Sie Wireshark und messen Sie das Paket. wire1.png Wählen Sie bei der Interaktion mit anderen Netzwerkgeräten die verbundene Schnittstelle aus. Zum Beispiel "Ethernet: en0". Wenn Sie mit sich selbst interagieren möchten, wählen Sie "Loopback: lo0".

wire2.png

Um dies zu vermeiden, verwenden Sie unter Macintosh und Linux die Eingabeaufforderung.

su otheruser
wireshark &

Wählen Sie "Loopback: lo0". Hier ist anderer Benutzer die ID eines anderen Benutzers. Selbst wenn Sie einen anderen Benutzer eingeben, wird gesagt, dass Sie nicht wissen, dass es keine Person mit der ID otheruser gibt.

wire3.png

Sie können Pakete von sich selbst bis zu sich selbst messen.

Einführung von Wireshark

Windows https://www.wireshark.org/download.html

Windows Installer (64-bit)
Windows Installer (32-bit)

Lassen Sie einen von ihnen fallen und führen Sie ihn aus.

Macintosh Fünf Wände zur Einführung von Wireshark in Macintosh https://qiita.com/kaizen_nagoya/items/69eb2d357a125f5368e1 Referenz

Debian/Ubuntu/Raspbian

apr-get update
apt-get install wireshark

10 Hindernisse für die Nutzung von Wireshark mit Raspberry Pi

https://qiita.com/kaizen_nagoya/items/b3fa0a20855d44c3768d

Zusammenfassung

Funktionen von JAVA (im Vergleich zu C und C ++)

1 Der Klassenname und der Dateiname sind identisch, und die Erweiterungen sind class bzw. java. Projekt und Paket können identisch sein. Grundsätzlich beginnt das Paket jedoch mit einem Kleinbuchstaben. 2 Gut im Internet (im Vergleich zu C- und C ++ - Sprachen vor JAVA) Es gibt eine Hauptfunktion in 3 Klassen. Ein Gefühl der Fremdheit. Es kann gut sein, die Hauptklasse als Hauptklasse oder die Betriebssystemklasse der Ausführungsumgebung zu haben.

JAVA in Eclipse

1 Eclipse ist ebenfalls in JAVA geschrieben und kompatibel. 2 Einführung in JAVA Developer Tools 3 Beginnen Sie mit New-> Java Project, New-> class. 4 Wählen Sie für Befehlsargumente die Registerkarte "(x) = Argumente" und die für "Programmargumente:" erforderlichen Parameter aus.

Debugging der Netzwerkprogrammierung

1 Verwenden Sie Wireshark 2 Geben Sie Loopback als Schnittstelle für Pakete an 3 Wenn der Zugang verboten ist, wenden Sie sich an eine zugängliche Person und beginnen Sie mit wireshark & 4 Wählen Sie für andere Verbindungen als Sie eine bestimmte Verbindung aus, z. B. Ethernet: en0.


Dieser Artikel steht kurz vor dem Schreiben. Ich werde es eins nach dem anderen hinzufügen.
"TCP / IP JAVA-Netzwerkprogrammierung aus den Grundlagen verstanden" Kapitel 2 Netzwerkprogrammierung von JAVA phttpd Ausnahmesammlung an drei Stellen https://qiita.com/drafts/d1db78d3db0e90c0ff9f Es wird gesagt, dass ich es nicht mag, weil es http / 0.9 ist.

Bestanden den Networking Specialist des Information Processing Engineer https://qiita.com/kaizen_nagoya/items/407857392ca5c5677ee4

Kommunikationsemulator-Port https://qiita.com/drafts/ce505bbea4229b83e93b

Macintosh-kompatibel "TCP / IP-Analysator-Erstellung und Paketanalyse aus den Grundlagen Linux / FreeBSD-kompatibel" Tomohiro Odaka Ohm https://qiita.com/kaizen_nagoya/items/517411b42fc5ceabd581

Recommended Posts

"TCP / IP JAVA-Netzwerkprogrammierung aus den Grundlagen verstanden" Kompiliert mit Eclipse. Debuggen mit Wireshark.
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java
Finden Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java [Abkochung Nr. 2]
[Java] Stellen Sie die Zeit im Browser mit jsoup ein
Versuchen Sie, TCP / IP + NIO mit JAVA zu implementieren
Grundlagen der Java-Programmierung
[Tutorial] Eclipse herunterladen → Anwendung mit Java ausführen (Plejaden)
Ich habe versucht, TCP / IP + BIO mit JAVA zu implementieren